TypeScript'te OOP'de Soyut Metotlar
Bazen alt sınıfların ortak bir metoda sahip olması gerekir,
ancak bu metodun uygulanması belirli alt sınıfa bağlıdır.
Bu durumda, bu metod ana soyut sınıfta uygulaması yazılmadan
tanımlanabilir. Ve böylece alt sınıflar bu metotları
uygulamak zorunda kalacaklardır. Bu tür metotlara
soyut metotlar denir ve
abstract anahtar kelimesi kullanılarak da
tanımlanırlar.
Örnek olarak soyut sınıfımız User'ı alalım.
Bu sınıfın mirasçılarının, nesnenin verilerini gösteren
show metoduna kesinlikle sahip olması gerektiğini varsayalım.
Ancak bu metodun uygulanması mirasçıya bağlı olacaktır.
User sınıfında bu metodu soyut olarak tanımlayalım:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
Bu metodu Student alt sınıfında uygulayalım:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
show() {
return this.name + ' ' + this.course;
}
}
Bu metodu Employee alt sınıfında uygulayalım:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
show() {
return this.name + ' ' + this.salary;
}
}
Soyut Figure sınıfında alan ve çevre
almak için soyut metotlar yapın.
Square ve Rectangle alt sınıflarında
bu metotların uygulamasını yazın.