封装是一种面向对象编程的基本概念,他指的是将数据和行为绑定在一起并对其进行保护,不允许外部程序直接访问或修改其属性和方法。这通常通过访问修饰符来实现。
封装的目的是为了隐藏对象的内部实现细节,同时通过提供一个简单的接口来访问对象的功能,从而使代码更加可靠,灵活和利于维护。封装可以让代码更加模块化,降低了代码的耦合性,使得代码的复用性更高,并且能够更好地保护程序的安全性和稳定性。
继承是一种面向对象编程的概念,它允许派生类获取基类的属性和方法,在c#中继承通过使用关键字 ‘ :’来实现,子类可以继承父类的所有公共和收保护的成员 例如:
class Animal {
public void Eat() {
Console.WriteLine("Animal is eating");
}
}
class Dog : Animal {
public void Bark() {
Console.WriteLine("Dog is barking");
}
}
这里,Dog类继承了Animal类,并且还定义了自己的方法Bark()。
多态指的是同一个方法或操作可以被不同的对象调用,产生不同的结果。多态可以通过虚方法和抽象方法来实现,虚方法允许子类重写父类的方法,而抽象类则需要子类实现其中的抽象方法。例如
abstract class Shape {
public abstract int Area(); // 抽象方法
}
class Rectangle : Shape {
private int length;
private int width;
public Rectangle(int l, int w) {
length = l;
width = w;
}
public override int Area() { // 重写父类方法
return length * width;
}
}
class Circle : Shape {
private int radius;
public Circle(int r) {
radius = r;
}
public override int Area() { // 重写父类方法
return (int)(Math.PI * radius * radius);
}
}
这里,Shape是一个抽象类,它有一个抽象方法Area()。Rectangle和Circle都继承了Shape,并且实现了自己的Area()方法,这就实现了多态性。
