C# 高级编程 继承
来源:互联网 发布:日本it行业知乎 编辑:程序博客网 时间:2024/06/05 10:48
page 98 派生类的构造函数
要实例化的类 的构造函数 并不能初始化类 还需要基类的构造函数
先 运行 基类的 构造函数 后 运行 派生类的 构造函数
派生类 的 构造函数 可以在 执行过程中 访问 任何 基类 中的方法 ,属性 ,和任何其他成员 ,因为 在此之前,基类已经构造出来了 ,所有字段 也已经初始化
class NeverCustomer: GenericCustom
{
private string referrerName;
private uint highCost;
public NeverCustomer(string name,string referrerName):base (name)
{
this.referrerName = referrerName;
Console.WriteLine("two string method");
}
public NeverCustomer(string name):this(name,"< none >")
{
Console.WriteLine("one string method");
}
}
class GenericCustom
{
private string name;
public GenericCustom(string name)
{
this.name = name;
Console.WriteLine("base method");
}
}
NeverCustomer custom = new NeverCustomer("Leo");
base method
two string method
one string method
访问修饰符 protected 只有 派生类才可以访问
internal 只能在包含他的程序集中访问该项
protected internal
不能使用 protected, private ,protected internal 修饰 类 ,因为在名称空间中是没有意义的
被嵌套的类类型 具有成员属性,可以使用这些修饰符
new 成员用相同的签名吟唱继承的成员
static 成员不作用于类的具体实例
virtual 成员可以由派生类重写
abstract 抽象成员 定义了成员的签名,但没有提供实现代码
override 成员 重写继承的虚拟或抽象成员
sealed 作用于 类,方法或者属性 对于类 不能继承自密封类
对于属性和方法 成员重写已继承的虚拟成员,但任何派生类中的任何成员都不能重写该成员,该修饰符必须与override 一起使用
extern 仅静态 DLLImport方法,成员在外部使用另一种语言实现
接口:
Dispose() 用于清理代码
接口只能包含 方法,属性 索引器和 事件的声明 不能有字段 和 构造函数
接口不能实例化,只能包含成员的签名
不允许声明关于成员的修饰符,接口成员总是公有的,不能虚拟,不能静态
从接口派生 完全 独立于 从 类派生
接口仅 表现成员的存在性, 类负责 确定这些成员是虚拟的还是抽象的,但只有在类本身是抽象 的,这些函数 才是抽象的
把类的实例 声明为 接口类型的 引用变量, 表示 它 可以 指向实现 这个接口的 任何类的任何实例
只能调用 接口中声明的方法 ,如果要调用实现类中的方法 就需要 强转
接口可以引用任何实现该接口的类
接口可以继承接口
派生接口拥有基接口的所有成员
实现派生接口的任何类 都必须实现 基 接口的所有方法
C# 支持多接口继承 和 单实现 继承
- C# 高级编程 继承
- C#高级编程读书笔记 - 第四章继承与多态
- 《C#高级编程》【第四章】继承 -- 学习笔记
- C#高级编程二十二天----继承的类型
- C#高级编程二十三天----实现继承
- 红皮书c#高级编程(第6版)_第4章_继承_实现继承
- 读书笔记(C#高级编程)
- c#高级编程
- c#高级编程
- C#高级编程
- 《C#高级编程》笔记
- C#高级编程 string
- C#高级编程----小结
- C#高级编程小结
- 《C#高级编程》读书笔记
- c#高级编程
- C# 高级编程
- C#高级编程 集合
- 关于食品企业的健康发展,重视品牌概念是关键
- 【LeetCode算法练习(C++)】Count and Say
- Spark 常用算子
- springMVC报出400,The request sent by the client was syntactically incorrect.
- 链式调用
- C# 高级编程 继承
- 数据库事务的四大特性以及事务的隔离级别
- css3动效
- 揭秘套路:百度贴吧诱导用户操作CPA项目
- MongoDB 安装和可视化工具
- 成员函数的重载、覆盖和隐藏
- OpenGL 基础2
- DTO,BO, PO之间的转换可以用这个框架;java 对象转换
- Spark 中算子功能与分类介绍