Darasa za Sanaa za OOP katika TypeScript
Kuna hali ambapo tuna darasa la mzazi linalo vyombo vya habari na njia za kawaida, na ina rithi madarasa ya watoto.
Wakati huo huo, inaweza kuwa hivyo kwamba tutakuwa kuunda vitu vya madarasa ya watoto, lakini si darasa la mzazi. Tunahitaji tu kwa kikundi cha mali na njia za kawaida.
Katika kesi hii, ili kuwazuia waziwazi kuunda
vitu vya darasa la mzazi, unaweza
kutangaza kuwa sanaa. Hii
inafanywa kwa kutumia neno kuu abstract.
Wacha tuangalie kwa mfano. Hebu tuchukue yetu
darasa User na kulitangaza kuwa sanaa:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
}
Wacha tufanye darasa Student, linalorithi
kutoka User:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
}
Wacha tufanye darasa Employee, linalorithi
kutoka User:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
}
Unda darasa la sanaa Figure,
linalowakilisha takwimu ya kijiometri.
Hebu iwe na mali kwa mzunguko
na eneo.
Fanya darasa Square, linalorithi
kutoka kwa darasa Figure.
Fanya darasa Rectangle, linalorithi
kutoka kwa darasa Figure.