Наслеђивање класе ЈаваСцрипт

У овом упутству ћете научити о наслеђивању класе ЈаваСцрипт помоћу примера.

Наслеђивање класе

Наслеђивање вам омогућава да дефинишете класу која узима све функције родитељске класе и омогућава вам да додате још.

Користећи наслеђивање класе, класа може наследити све методе и својства друге класе.

Наслеђивање је корисна функција која омогућава поновну употребу кода.

Да бисте користили наслеђивање класе, користите extendsкључну реч. На пример,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( ) let student1 = new Student('Jack'); student1.greet();

Оутпут

 Здраво Јацк

У горњем примеру, Studentкласа наслеђује све методе и својства Personкласе. Отуда ће Studentкласа сада имати nameсвојство и greet()метод.

Тада смо приступили greet()методи Studentкласе креирајући student1објекат.

ЈаваСцрипт супер () кључна реч

Кључна superреч која се користи унутар подређене класе означава њену родитељску класу. На пример,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( console.log("Creating student class"); // call the super class constructor and pass in the name parameter super(name); ) ) let student1 = new Student('Jack'); student1.greet();

Овде се superунутрашња Studentкласа односи на Personкласу. Дакле, када Studentсе позове конструктор класе, он такође позива конструктор Personкласе који му додељује својство имена.

Замена методе или својства

Ако подређена класа има исти метод или име својства као родитељска класа, користиће метод и својство подређене класе. Овај концепт назива се надјачавање метода. На пример,

 // parent class class Person ( constructor(name) ( this.name = name; this.occupation = "unemployed"; ) greet() ( console.log(`Hello $(this.name).`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( // call the super class constructor and pass in the name parameter super(name); // Overriding an occupation property this.occupation = 'Student'; ) // overriding Person's method greet() ( console.log(`Hello student $(this.name).`); console.log('occupation: ' + this.occupation); ) ) let p = new Student('Jack'); p.greet();

Оутпут

Здраво студент Јацк. занимање: Студент

Овде су occupationсвојство и greet()метода присутни у родитељској Personкласи и подређеној Studentкласи. Дакле, Studentкласа замењује occupationсвојство и greet()метод.

Употреба наследства

  • Будући да подређена класа може да наследи све функционалности родитељске класе, ово омогућава поновну употребу кода.
  • Једном када се функционалност развије, можете је једноставно наследити. Нема потребе да поново откривате точак. Ово омогућава чишћи код и лакши за одржавање.
  • Будући да можете додати и своје функције у класу подређених, можете наследити само корисне функционалности и дефинисати друге потребне особине.

Занимљиви Чланци...