面向对象的C#语言——修饰符
一、访问控制符
修饰符 | 使用 |
---|---|
public | 所有地方均可被使用 |
private | 自己的类中使用 |
protected | 表示受保护的;除自身类外,其子类也可以被访问 |
internal | 在相同的程序集可以被访问 |
static | 表示静态的;方法、字段、属性是属于整个类的 |
- static方法中,不能访问实例变量
- 调用static方法时,直接用类名访问
Console.write(.....); Math.sqrt(.....); Convert.ToDateTime(...); DateTime.Parse
string.copy(a); string.Format("{0}",x);
- static变量也可以表示“全局变量”
- 在C#2.0中,类名也可以用static修饰。this表示的是当前一个对象。
static的构造方法——不是构造某个实例而是构造这个类。
using System;
class person
{
static long totalNum;
static person()
{
totalNum = (long)52e8;
Console.WriteLine("人类总人口" + totalNum);
}
}
注:static构造方法只会调用一次,但其调用时间是不确定的。
二、Const及readonly
1.const(常量)
const相当于静态常量
如:Math.PI
2.readonly
readonly相当于不可改量,只能赋一次值。
如:string.Empty
在构造方法中赋值或者在声明时赋值。
注:
- const只能够用于基本类型及string
- readonly只能够修饰字段,而const还可以修饰局部变量
三、sealed及abstract
1.sealed
sealed类,不可被继承(有利于编译优化)
如:string,console,Math,Convert,Graphics,Font
2.abstract
abstract类,不可实例化(new)
如:Array,RandomNumberGenerator;
abstract的方法体,不能够用{} 要用;
格式:
abstract 类型 方法名(参数列表)
abstract 类型 属性名{ get ; set; }
- 抽象类表示了子类的属性
如图所示:
小结:
public/private/interal/protected为访问控制符
static属于类的而非实例;与之相对的是this,指具体的一个实例
const常量
readonly只读量,仅能赋值一次
sealed不可继承
abstract抽象的
@梦幻泡沫