[学习笔记]C#高级编程(第4章)

第4章 继承

 

隐藏方法 new

看这篇解释http://blog.csdn.net/dream1889/article/details/8640223

抽象类和抽象函数 abstract

关键字abstract声明,包含抽象函数的类是抽象类,抽象类不能实例化,抽象函数不能直接实现,必须在非抽象的派生类中重写

abstract class  Building

{

 public abstract void print();//abstract method,没有实现代码

}

class House:Building

{

 public override void print()

 {

  //do something

 }

}

密封类和密封方法 sealed

关键字sealed声明,对于类,表示不能继承该类,对于方法,表示不能重写该方法

sealed class FinalClass{}

修饰符

修饰符

应用于

说明

public

所有类型或成员

任何代码都可以访问该项

protected

类型和内嵌类型的所有成员

只有派生的类型能访问该项

internal

所有类型或成员

只能在包含它的程序集中访问该项

private

类型和内嵌类型的所有成员

只能在它所属的类型中访问该项

protected internal

类型和内嵌类型的所有成员

只能在包含它的程序集和派生类型的任何代码中访问该项

new

函数成员

实例化,隐藏同名成员

static

所有成员

定义类级别成员

virtul

仅函数成员

指定成员可以被override

abstract

仅函数成员

定义函数为虚函数,没有提供实现代码

override

仅函数成员

重写virtual或abstract的函数

sealed

类,方法,属性

对于类,表示不能继承该类,对于方法,表示不能重写该方法

extern

仅静态[DllImport]方法

成员在外部用另一种语言实现?

不能把类定义为protected, private和protected internal,因为这些修饰符对于包含在命名空间中的类没有意义。

internal可以为什么protected internal不行?

接口 interface

一般情况下,接口只能包含方法、属性、索引器和事件的声明,不允许提供任何接口中成员的实现方式。

不能有构造函数,不能有字段,不允许包含运算符重载,不允许声明关于成员的修饰符(virtual,static等)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值