C#学习笔记(三)

声明

域表示与对象或类相关联的变量,声明格式如下:

attributes  field_modifiers  type  variable-declarators;

域的修饰符field_modifiers可以是:

  • new
  • public
  • protected
  • internal
  • private
  • static
  • readonly

静态域和非静态域

下面的例子清晰的反映了二者之间的区别

 

 


 

域的初始化

如果在类中,没有显式的对域进行初始化,系统将赋予其一个默认值。域的默认初始化分为两种情况:对应静态域,类在装载时对其进行初始化; 对于非静态域,在类的实例创建时进行初始化。在默认的初始化之前,域的值是不可预测的。

 

 

 


 

索引指示器

索引指示器(indexer)使得可以像数组那样对对象使用下标。它为我们提供了通过索引方式方便地访问类的数据信息的方法。

声明

attributes  indexer-modifiers  indexer-declarator  

索引指示器可以使用的修饰符

 

new

public

protected

internal

private

virtual

sealed

voerride

abstract

 

 

 

覆盖

在类是成员声明中,可以声明与继承而来的成员同名的成员,这时我们称派生类的成员覆盖(hide)了基类的成员。这种情况下,编译器不会报告错误,但会给出一个警告。对派生类的成员使用new关键字,可以关闭这个警告

 

 

 

 


 

 

虚方法

当类中的方法声明前加上了virtual修饰符,我们称之为虚方法,反之为非虚,使用了virtual修饰符后,不允许再有static,abstract,或override修饰符。


 

 

 


 

 

抽象与密封

抽象类

 

抽象类A提供了一个抽象方法F。类B从抽象类A中继承,并且又提供了一个方法G,因为B中并没有包含对F的实现,所以B也必须是抽象类。类C从类B中继承,类中重载了抽象方法F,并且提供了对F的具体实现,则类C允许是非抽象的

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值