前言
最近在回顾C#有关基础内容(基于C#入门经典),记录一下学习过程以及学习的有关知识点总结和一些自己的理解。注释尽量通俗易懂理解,方便以后回来再回顾一下。有什么错误的地方,也请大家指正,也希望大家多多补充,比较适合初学者对概念的理解,希望对大家也有所帮助。
一、类成员的定义
在类的定义中,可以有***字段、方法和属性***三个成员。
每个成员都有自己的访问级别。用以下四个关键词来定义访问级别
(1)public——成员可由任何代码访问
(2)private——成员只能用类中的代码访问(如果没有使用任何关键词定义访问级别,那么就默认使用这个关键词)
(3)internel——成员只能由定义它的程序集(项目内部)的代码访问
(4)protected——成员只能由类或派生类中的代码访问。
注意!
在NET.Framework中的公共字段、方法和属性三个成员一般采用PascalCasing形式命名。而私有的字段、方法和属性一般用camelCasing形式命名。
二、定义示例与注意问题
1.定义字段、方法、属性
代码如下(示例):
class MyClass
{
//定义字段
public int MyInt;
//定义方法 Lambda表达式在十三章中介绍
public string GetString () =>"here is a string."
//定义属性 属性与字段的区别:字段后面有分号,而属性后 面包含set与get代码块
public int MyIntProp
{
//get访问器
get
{
return myInt;
//获取属性的值代码
}
//set访问器
set
{
myInt = value;
//设置属性的值代码
}
}
}
2.定义字段需要注意的问题
(1)在定义字段时可以使用readonly关键词,表示这个字段只能在构造函数(第八章)的过程中赋值,或者由初始化赋值语句赋值。
(2)使用static来定义静态字段和使用const来创建一个常量。const常量也是静态的,但是不需要也不能再加static关键词来修饰。
代码如下(示例):
class MyClass
{
//定义字段使用readonly关键字
public readonly int MyInt = 17;
//定义静态字段必须通过定义他们的类来访问(MyClass.MyInt)而不能通过这个类的实例来访问
public static int MyInt;
}
3.定义方法需要注意的问题
在方法的定义中有时也可用的修饰关键词来修饰。
(1)virtual——表示该方法可以重写。
(2)abstract——表示该方法必须在非抽象的派生类重写,就必须使用该关键字。
(3)override——如果方法被重写,就必须使用该关键字。
(4)extern——该方法的定义放在其他地方,使用该关键词可在项目外部提供该方法的实现代码。
方法重写的示例代码如下(示例):