C#面向对象编程之封装

一、面向对象的三大特性

封装:隐藏内部实现,稳定外部接口

继承:子类继承父类成员,实现代码复用

多态:不同子类对同一个消息做出不同的反应

二、类与对象

对象是存在的具体实体,具有明确定义的状态和行为。是面向对象编程的核心,为计算机应用程序提供实用基础。是人们要进行研究的任何事物。

类以共同特性和操作定义实体。是用于组合各个对象所共有操作和属性的一种机制。是具有相同状态和行为的一组对象的集合。。

类与对象的关系:类是建筑蓝图、对象是按照这份蓝图来建造的房子。类是对象的原型,所有属于同一个类的对象都有相同的特性和操作。类是概念模型,定义对象的所有特性和所需的操作。对象是实际的实体,是真实的模型。

C#的实现:

//类的成员:字段、方法
public class Student{  //类名
    int age=26; //字段
    private string name;//z字段
    
    public void SayHi(){ //方法
        ...
    }
}

三、访问修饰符

封装性是OOP编程的重要特征,将类进行了封装,对外提供可访问的属性和方法。外部对象必须通过这些属性和方法访问此对象的信息。最主要是通过访问修饰符来控制。

修饰符 说明
public 所属类的成员以及非所属类的成员都可以访问
internal 当前程序集可以访问
private 只有所属类的成员可以访问
protected 所属类和派生自所属的类型可以访问

四、构造函数

构造函数是类的一种特殊方法,构造函数名与类名相同,自动运行,不返回任何值,也不能加void,可初始化成员变量。每个类必须有一个构造函数,用户不提供则系统会提供自己默认的构造函数。构造函数的默认访问是private,但这样就不能在类的外部创建实例。创建了带参数的构造函数,系统不会再创建默认构造函数。

new关键字可以实例化一个新的对象,制定对某个带参数的构造函数。

五、static与方法

静态方法与实例方法

使用static修饰的方法称为静态方法。使用实例对象调用的方法叫做实例方法。static方法中,需要对象访问类中定义的任何实例字段与方法。static方法中,可以直接访问static字段与satic方法。

静态方法 实例方法
static 不需要static关键字
使用类名调用 使用实例对象调用
可以直接访问静态成员 使用类名访问静态成员

语法

<returntype> <methodname>(<type1><arg1>,<type2><args2>,...){

<set of statements>

}

其中,<returntype>是方法返回值的数据类型,<methodname>是用户自定义的方法名称

方法的参数列表是一组变量声明。

六、析构函数

语法

~<类名>(){ //析构函数的主体}

注意事项:

不能在结构中定义析构函数,只能对类定义析构函数。

一个类只能有一个析构函数。

无法继承或重载析构函数。

无法调用析构函数,它们是被系统调用的。

析构函数既没有修饰符,也没有参数。

猜你喜欢

转载自blog.csdn.net/weixin_49251429/article/details/123138549
今日推荐