C#中类的基础知识(一)

一、类

1.1类的声明

关键字class

1.默认情况,类声明是内部的(internal);

2.可以指定类是公共的,使用关键字public

3.还可以指定类是抽象的(不能实例化,只能继承),不能用 sealed(密封) 修饰符修饰抽象类,因为这两个修饰符的含义是相反的。(采用 sealed 修饰符的类无法继承);

4.类定义中只能有一个基类;

5.如果继承了抽象类,必须实现继承的所有抽象成员(除非派生类也是抽象)

6.派生类的可访问性不能高于基类,也就是说,内部类可以继承于公共基类,公共基类不可以继承于内部类;

以下是合法的:

public class MyBase

{}

internal class MyClass:MyBase

{}

以下是不能编译的:

internal class MyBase

{}

public class MyClass:MyBase

{}

7.注意,这种紧跟冒号的方式也可以指定接口;但如果已经继承了基类,则需要跟在基类后面,并用逗号分隔写接口;

例如给指定了基类的MyClass添加一个接口:

public class MyClass:MyBase,IMyInterface

{

}

多个接口也可以:

public class MyClass:MyBase,IMyInterface,IMySecondInterface

{

}

!注意支持该接口的类必须实现所有接口成员,如果不想使用给定的接口成员,可以用空的方式(没有函数代码),还可以把接口成员实现为抽象类中的抽象成员。

 

7.其他

1)静态类:static关键词

public static class File

1. 静态类不能实例化,不能使用 new 关键字创建静态类类型的变量;

2.不能被继承,也不能被实例化。

3.

类中的属性和方法也必须都是静态的。

2)密封类:sealed关键词

不能用作基类,不能被派生

1.1类成员

1.2类成员

  1. public——成员可以由任何代码访问
  2. private——成员只能由类中的代码访问(如果没有使用关键字,就默认private
  3. internal——成员只能由定义它的程序集(项目)内部的代码访问
  4. protected——成员只能由类或派生类中的代码访问

也可以使用static声明,表示是类的静态成员,而不是对象实例的成员。

class MyClass

{

public static int MyInt

}

静态字段必须通过定义它们的类来访问,比如上面的示例,是MyClass.MyInt,而不是这个类实例对象来访问。

1.2定义方法

注意如果方法使用了 static关键字,只能通过类来访问,不能通过对象实例访问。

  1. virtual——方法可以重写(子类重写,需要使用关键字override
  2. abstract——方法必须在非抽象的派生类中重写(只用于抽象类中)
  3. internal——方法重写了一个基类方法
  4. extern——方法定义放在其他地方
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值