c# 入门级Java对比 3 —— 类的继承

本文详细介绍了 C# 中的面向对象特性,包括继承、虚方法、抽象类等概念及其用法,并探讨了类成员的访问修饰符、命名规范及扩展方法等内容。

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

1. 继承方式用冒号:, 访问基类用base而不是super。

2. 屏蔽基类成员(字段或方法)关键字:new。

3. 虚方法,方法复写使用关键字:virtual、override。


4. 屏蔽和复写的对比:

a. 屏蔽成员后,基类成员仍可使用base关键字访问。

b. 只有在派生类调用时,调用的是派生类重新定义的成员。

c. 如果复写了基类方法,无论基类还是派生类调用的都是派生类的方法。

d. 静态成员不可复写,但可以屏蔽。


5. 类访问修饰符:public、internal(程序集内部可访问,默认可见性)。导包使用using关键字而不是import。


6. 类没有包的概念,区分类路径使用命名空间,文件名和类名无需一致,一个文件中也可以包含多个公共类。


7. 类的成员修饰符:

private、

protected(派生类可访问,不关心程序集)、

internal(程序集内部类可访问)、

protected internal(程序集内部类 或者 派生类都可以访问)、

public。

a. 默认修饰符为private。

b. 成员不能比类的访问性更高。


8. 类允许定义抽象成员:

a. abstract,但必须是成员方法,没有实现代码块。

b. 派生类实现时需使用override。不可与virtual共用。


9. 密封类:sealed, 类似final类,不可被继承。


10. 静态类:static,隐式密封不可被继承,不能有实例成员。


11. 命名规范:

a. Pascal.  常用于类中对外可见部分的成员的名称:类、方法、命名空间、属性和公共字段。

b. Camel. 常用于局部变量和形参名称。

c. _ + Camel. 常用于私有变量和受保护字段。


12. 支持类的扩展方法:

static class ExtendMyData {// 必须是静态的

 // 必须是公共静态的
 public static double Average(this MyData data) {
    ...
 }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值