C#面向对象

1.1、什么是面向对象编程

  • 面向对象编程是一种计算机编程结构,与面向过程编程相比,具有高重用性、灵活性和扩展性的优点。

  • C#语言是一种面向对象的编程语言,它的设计思想是将要解决的问题里面的相关对象分析总结出来,抽象出它特征和行为。

1.2、面向对象的三大特性:封装、继承、多态;

  封装:把客观的事物封装成类,使用和修改方便;

  继承:在写代码过程中会发现有些类有些方面很相似,这时候我们新建一个类来描述这种相似性,所有从这类衍生出来的类都有这种相似性,通过继承描述出各种不同的类之间的相似性。

  多态:多态和继承是紧密相关的,是指同一个成员函数在不同的衍生类中有不同的行为,也就是描述了他们之间的区别。

1.3、类与对象的关系

类是一个抽象的概念,是一组具有相同特性和行为的对象集合。而对象是类的实例化,即类的实物表达。

对象是类的具体表达;而类则是对象的抽象表达。

1.4、类的定义

  • 要使用类,必须先定义类

  • [访问修饰符] class 类名
    ​
    {
        类成员(常量、字段、构造函数、方法(函数)、属性、事件、索引器、运算符等)的定义;
    }
  • 访问修饰符

    类或类的成员都有关联的可访问性,它控制能够访问该成员的程序文本区域。C#有五种可访问修饰符。

    可访问性含义
    private私有的,访问仅限于此类
    public公开的,访问不受限制
    protected受保护的,访问仅限于此类和从此类派生的类
    internal程序集内部的,访问仅限于此程序
    protected internal由此声明的程序集或另一程序集派生的类中可以访问
  • 1.5、创建对象

  • 创建对象就是将类实例化,其过程本质是在内存中为对象分配存储空间,并对对象进行初始化。

  • C#使用关键字new创建对象

    语法:类名 对象名=new 类名();

  • 将类实例化一个对象后,可以通过对象访问类的字段,去读取、设置相应字段的值;还可通过对象访问类的方法,执行方法的功能。


  • 2.1、类的成员

    类有数据成员或方法成员,还可划分为实例成员和静态成员

  • 字段(field)成员:是描述状态的数据成员

  • 方法(method)成员:是描述操作的行为成员

  • 静态(static)成员:用static关键字修饰的字段或函数成员

  • 实例(instance)成员:没有用static关键字修饰的字段或函数成员

    2.2、静态成员特征

  • 静态成员必须通过static关键字定义,通过类名访问。

  • 在内存中,一个静态字段只标识一个储存位置,无论创建了一个类的多少个实例,它的静态字段在内存中只占同一块区域。

  • 静态方法不能作用于对象,即静态方法中不能直接使用实例成员,必须创建类的对象,通过对象名引用访问,但是可以直接访问本类的静态成员。

  • 2.2、实例成员特征

  • 实例成员不能添加static关键字定义,通过对象名访问。

  • 类的实例成员属于类的对象所有,每创建一个类的对象,都在内存中为实例字段开辟了一块区域。类的每个对象,分别包含一组该类所有实例字段的副本。

  • 类的实例方法直接作用于类的对象,在实例方法中可以直接访问本类的静态成员和实例成员。

  • 调用完后会自动释放,节省内存空间。


    3.1、构造函数的概念

    构造函数是个特别的方法,用来初始化类的新建对象(对象存储的数据)。当访问一个类的时候,系统将 首先执行构造函数中的语句。

    构造函数在创建类的对象时自动执行,即无论程序是否调用类的字段、属性或方法,构造函数都将在创建 对象时执行。

    3.2、构造函数的语法

  • [访问修饰符] 构造函数名 (形参列表) {    初始化代码 }

  • 各种类型的字段的默认值

    类型默认值
    数值型(各种整数、小数)0
    char'0'
    boo lfalse
    引用类型null

    4.1、方法重载:方法名称相同但参数不同,处理结果会自动执行对应的参数方法。方法重载跟返回值没有关系。

    4.2、抽象类只能是单继承:一个子类只能继承一个父类(抽象类);接口可以多实现:一个类可以继承多个接口 如 子类:接口1,接口2,接口3.....多实现至接口。接口说是抽象类中的抽象类

    4.3、接口和抽象类的共同点:都是提供方法去给子类实现的,子类都必须去实现其没有实现的成员。 这种实现方法叫方法重写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值