You are currently viewing ES6 | Classes (Классы)

ES6 | Classes (Классы)

В объектно-ориентированном программировании существует три понятия: ОбъектКласс и Методы. JavaScript ES6 поддерживает компоненты объектно-ориентированного программирования.

  • Object (Объект): Объект в реальном времени означает представление любого объекта в реальном времени.
  • Class (Класс): Это перед планом создания любых объектов, которые известны как чертеж любых объектов, которые вы хотите создать.
  • Methods (Методы): Он взаимодействует между объектами.

Класс содержит Constructors (Конструкторы) и Functions (Функции). Конструкторы берут на себя ответственность за выделение памяти для объектов класса. Функция берет на себя ответственность за действие объектов. Вычесывание этих двух конструкторов и функций для создания класса.
В ES6 для создания любого класса необходимо использовать ключевое слово class.

Синтаксис:

  • Объявление класса:
class Class_name {  }
  • Выражения Классов:
var var_name = new Class_name { }

Приведенный ниже пример проиллюстрирует классы ES6:

Пример:

<script>
class gfg {

	// Constructor
	constructor(name, estd, rank){
		this.n = name;
		this.e = estd;
		this.r = rank;
	}

	// Function
	decreaserank(){
		this.r -= 1;
	}
}
const geeks = new gfg("geeks", 2009, 43)
	
geeks.decreaserank();
	
document.write(geeks.r); //Output 42
</script>

Выход:

42

В приведенном выше примере объявляется класс » gfg’. Конструктор класса принимает три аргумента – name, estd и ранг соответственно. Ключевое слово «this» относится к текущему экземпляру класса. Функция geeks() в классе выводит значения ранга.

Наследование классов: Класс ES6 поддерживает наследование. Наследование имеет смелость создавать сущности из существующих сущностей. В ES6 есть два типа классов:

  • родительский класс/суперкласс: Класс, расширенный для создания нового класса, известен как родительский класс или класс ужина.
  • дочерние/подклассы: Вновь созданный класс называется дочерним или подклассом. Подкласс наследует все свойства от родительского класса, за исключением конструктора

Синтаксис: 

class child_name extends parent_name

Пример:

<script>
class geeks {
constructor(g) {
	this.Character = g
}
}
class GeeksforGeeks extends geeks {
disp() {
	console.log("No of Character: "+this.Character)
}
}
var obj = new GeeksforGeeks(13);
obj.disp()
</script>

Выход:

No of Character: 13

Наследование делится на три типа:

  • Единое наследование: Каждый класс может быть расширен из одного родительского класса.
  • Множественное наследование: Класс может наследовать от нескольких классов. ES6 не поддерживает множественное наследование.
  • Многоуровневое наследование: Класс может наследовать от другого класса (через), который наследуется от родительского класса.
class Child extends Root
class Leaf extends Child 
// So the leaf extends root indirectly

Супер ключевое слово: Это ключевое слово помогает дочернему классу вызывать данные родительского класса.

supper.object

Пример:

<script>
class GeeksforGeeks {
doPrint() {
	console.log("This doPrint() from Parent called.")
}
}
class gfg extends GeeksforGeeks {
doPrint() {
	super.doPrint()
	console.log("This doPrint() is printing a string.")
}
}
var obj = new gfg()
obj.doPrint()
</script>

Выход:

This doPrint() from Parent called.
This doPrint() is printing a string.