В объектно-ориентированном программировании существует три понятия: Объект, Класс и Методы. 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.