继承和封装

本文详细阐述了C#中类的继承机制,包括子类如何继承父类属性和方法,抽象方法的使用,virtual关键字的作用,以及C#中单继承的特性。讲解了派生类的特点,如扩展性、继承传递和多态性,以及如何通过接口实现多重继承。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继承: 

 1.子类继承父类的属性和方法。

  2.子类构造方法调用父类构造法发 base()。

1.abstract 抽象。用来限定类时,类中的方法不能有方法实体;用来限定方法时,同样也不能有方法实体,并且在子类中必须完成方法实体,除非子类继续使用抽象方法。

2.virtual 用来指示类中的方法可以被子类的同名方法覆盖或者共存,覆盖时,子类中使用override关键字;共存时,使用new 关键字。

3.new 在子类方法中的用法是指子类中与父类存在的同名方法在方法列表敏感词存,并不覆盖父类的方法,这就达到了多态机制下并非一味覆盖的效果。
4.C#中,派生类只能从一个类中继承。这是因为,在C++中,人们在大多数情况下不需要一个从多个类中派生的类。从多个基类中派生一个类这往往会带来许多问题,从而抵消了这种灵活性带来的优势。

特点

*.1.派生类是对基类的扩展 派生类可以添加新的成员 但是不能移除已经继承的成员的定义
 * 2.继承是可以传递的 如果C从B中派生 B又从A中派生 那么C不仅继承了B中声明的成员 同样也继承了A中声明的成员
 * 3.构造函数和析构函数不能被继承 除此之外其他成员能被继承  基类中成员的访问方式只能决定派生类能否访问她们
 * 4.派生类如果定义了与继承而来的成员同名的新成员 那么就可以覆盖已继承的成员 并不是删除这些成员 知识不再访问这些成员
 * 5.类可以定义虚方法 虚属性 虚索引指示器 它的派生类能够重载这些成员 从而使类可以展示出多态性
 * 6.派生类只能从一个类中继承 可以通过接口实现多重继承

* C#不支持多继承 可以使用接口实现多重继承 只支持单继承
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值