Unity3D学习之(C#概念知识复习)


欢迎大家光临我的博客

今天我主要是复习了一下原来学习的概念性知识:

 

一、面向对象技术的三个核心概念


封装:将数据和操作组合到一起,并决定哪些数据和操作对外是可见的。封装还分为方法封装和属性封装!

继承:父类中的变量和行为,子类可以同样使用。本质是代码重用。

多态:同一个操作作用于不同的对象,产生不同的执行结果,称之为多态。

 


二、方法隐藏


如果子类方法的方法名和基类的方法名相同时,系统将隐藏基类同名方法,自动调用子类的同名方法。

 

三、virtualoverride


virtual 用在基类中,指定一个虚方法(属性),表示这个方法(属性)可以重写。

override 用在派生类中,表示对基类虚方法(属性)的重写。

 

注意:virtual关键字和override关键字是成对出现的,否则是语法错误。

派生类可以通过将重写声明为 sealed 来停止虚拟继承。这需要在类成员声明中的 override 关键字前面放置 sealed 关键字。

在子类中重写基类中的虚方法时,可以使用base关键字调用基类中的虚方法。

 

四、抽象类


C#中使用关键字 abstract 定义抽象类和抽象方法

不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例。

使用abstract 在一个类声明中表示该类倾向要作为其它类的基类成员被标示成abstract,或被包含进一个抽象类,必须被其派生类实现。

 

抽象类具有以下特征:

①抽象类不能被实例化。

②抽象类可以包含抽象方法和访问器

③不能把抽象类用密封(sealed)来修饰,那就意味着类不能被继承,这违反抽象类被继承的原则。

④抽象类的非抽象子类必须实现其继承的所有抽象方法和抽象访问器

⑤通过声明派生类也为抽象,我们可以避免所有或特定的虚方法的实现,这就是抽象类的部分实现。

 

 

五、接口


接口描述的是可属于任何类或结构的一组相关功能,所以实现接口的类或结构必须实现接口定义中指定的接口成员。

 

接口和抽象类的区别:

①接口用于规范,抽象类用于共性。

②接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。

③抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。

④抽象类可以提供某些方法的部分实现,接口不可以。

⑤抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值