Dört sütun Encapsulation, Abstraction, Inheritance ve Polymorphism'dir. Birlikte OOP'nin kodu nasıl organize ettiğini ve yeniden kullandığını açıklarlar.
Dört sütun Encapsulation, Abstraction, Inheritance ve Polymorphism'dir. Birlikte OOP'nin kodu nasıl organize ettiğini ve yeniden kullandığını açıklarlar.
| Sütun | Temel fikir |
|---|
| Encapsulation | Veri + davranış paketleme; kontrollü bir arayüz arkasında iç durumu gizleme |
| Abstraction | Bir nesnenin ne yaptığını açığa çıkarma, nasıl yaptığını gizleme |
| Inheritance | Bir alt sınıf üst sınıfı yeniden kullanma ve genişletme |
| Polymorphism | Bir arayüz, çalışma zamanında seçilen birçok implementasyon |
abstract class Shape { // ABSTRACTION: "what", not "how"
abstract double area(); // each shape decides its own formula
}
class Circle extends Shape { // INHERITANCE: Circle is a Shape
private double r; // ENCAPSULATION: r is private
Circle(double r) { this.r = r; }
double area() { return Math.PI * r * r; } // POLYMORPHISM: own area()
}
class Square extends Shape {
private double s;
Square(double s) { this.s = s; }
double area() { return s * s; }
}
Shape shape = new Circle(2); // POLYMORPHISM in action:
System.out.println(shape.area()); // calls Circle.area() at runtime
Bunlar araçlardır, hedefler değil. İhtiyaç olmayan yerlerde kalıtımı veya soyutlamayı zorlamak karmaşıklık yaratır. Soruna uygun olan sütunu seçin.
Bu dört kelime OOP tasarımının paylaşılan sözlüğüdür — mülakatlar ve kod incelemeleri bunları bildiğinizi varsayar.
Her sütun somut bir fayda ile eşleşir: encapsulation değişmezleri korur, soyutlama anlamanız gereken şeyi azaltır, kalıtım ve çok biçimlilik yeniden kullanım ve genişletilebilirliği sağlar.