junioroop
Назовите 4 принципа ООП
Ответ
Инкапсуляция — скрытие внутренней реализации, доступ через публичный интерфейс. Наследование — класс-потомок получает свойства и методы родителя. Полиморфизм — один интерфейс, разные реализации. Абстракция — выделение существенных характеристик объекта, скрытие деталей.
JSJavaScriptPYPythonC#C#C++C++
Примеры кода:
JSJavaScript
// Наследование и полиморфизм
class Shape {
area() { return 0; }
}
class Circle extends Shape {
constructor(r) {
super();
this.r = r;
}
area() { return Math.PI * this.r ** 2; } // полиморфизм
}
class Rectangle extends Shape {
constructor(w, h) {
super();
this.w = w; this.h = h;
}
area() { return this.w * this.h; } // полиморфизм
}C#C#
abstract class Shape
{
public abstract double Area(); // абстракция
}
class Circle : Shape
{
private double _r; // инкапсуляция
public Circle(double r) => _r = r;
public override double Area() => Math.PI * _r * _r;
}
class Rectangle : Shape
{
public double W { get; }
public double H { get; }
public Rectangle(double w, double h) { W = w; H = h; }
public override double Area() => W * H;
}