De fire pilarene er Encapsulation, Abstraction, Inheritance og Polymorphism. Sammen beskriver de hvordan OOP organiserer og gjenbruker kode.
De fire pilarene er Encapsulation, Abstraction, Inheritance og Polymorphism. Sammen beskriver de hvordan OOP organiserer og gjenbruker kode.
| Pilar | Kjerneidé |
|---|
| Encapsulation | Pakk data + oppførsel; skjul intern tilstand bak et kontrollert grensesnitt |
| Abstraction | Eksposer hva et objekt gjør, skjul hvordan det gjør det |
| Inheritance | En underklasse gjenbruker og utvider en overordnet klasse |
| Polymorphism | Ett grensesnitt, mange implementeringer valgt under kjøring |
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
Disse er verktøy, ikke mål. Å tvinge arv eller abstraksjon der det ikke er nødvendig, skaper kompleksitet. Velg pilaren som passer til problemet.
Disse fire ordene er det delte vokabularet for OOP-design — intervjuer og koderevisjon forutsetter at du kjenner dem.
Hver pilar kartlegger til en konkret fordel: kapslingslagring beskytter invarianter, abstraksjon reduserer hva du må forstå, arv og polymorfisme muliggjør gjenbruk og utvidbarhet.
Et bibliotek av IT-intervjuspørsmål med detaljerte svar — fra Junior til Senior.
Doner