C#语言的学习记录(一)
- 面向对象:对象包括属性和方法,属性是指对象固有的特征,方法则是对象的行为。例如将手机看作是一个对象,手机的大小、颜色、品牌都可以看作是一个特征,即属性,而打电话、发短信、上网是手机的行为,即方法。
三大特征:
(1) 封装:在 C# 语言中能体现封装特性的编程元素有很多,例如类、接口、方法等。让用户只关心对象的用法而不用关心对象的实现,在为用户的访问提供了便利的同时也提高了程序的安全性。
(2) 继承:在保留原有功能的基础上进行改进的过程。继承关系主要体现在类之间的继承,这样既能减少开发时的代码量又方便了程序的复用。
(3) 多态:通过类的继承或接口的实现来体现的,多态给程序带来的最大好处与继承类似,即提高了程序的复用性和可移植性。 - 类:关键字为class
(1)语法形式:
类的访问修饰符 修饰符 类名
{
类的成员
}
a.类的访问修饰符:用于设定对类的访问限制,包括 public、internal 或者不写,用 internal 或者不写时代表只能在当前项目中访问类;public 则代表可以在任何项目中访问类。
b.修饰符:修饰符是对类本身特点的描述,包括 abstract、sealed 和 static。abstract 是抽象的意思,使用它修饰符的类不能被实例化;sealed 修饰的类是密封类,不能被继承;static 修饰的类是静态类,不能被实例化。
c.类名:类名用于描述类的功能,因此在定义类名时最好是具有实际意义,这样方便用户理解类中描述的内容。在同一个命名空间下类名必须是唯一的。
(2)类的成员:在类中能定义的元素,主要包括字段、属性、方法。
a.字段
语法形式:
Public 数据类型 字段名
①访问修饰符 修饰符 数据类型 字段名;
②访问修饰符:public、private、internal、protected
③修饰符:readonly、static
④数据类型:int、char、string、float、bool、double等
b.属性:经常与字段连用,并提供get和set访问器,分别用于获取和设置字段值。
语法形式:
public 数据类型 属性名
{
get
{
获取属性的语句块;
return 值;
}
set
{
设置属性得到语句块;
}
}
简化后:public 数据类型 属性名{get;set;}
①get{}:用于获取属性的值,最后使用 return 关键字返回一个与属性数据类型相兼容的值。省略后不能在其他类中获取其字段值,称为只写属性。
②set{}:设置字段的值,需要使用一个特殊的值 value给字段赋值。省略后不能在其他类中为其赋值,陈薇只读属性。
c.调用类成员:实际上使用的是类的对象
语法形式:
类名 对象名 = new 类名();
对象名 . 类的成员
将类中的成员使用修饰符 static 声明,则在访问类成员时直接使用“类名.类成员”的方式即可,但是只能直接访问静态类成员,非静态成员通过类的对象调用才能访问。
d.调用属性和方法
语法格式:
类的对象 . 属性名 = 值;
类的对象 . 方法名(参数);
(3)嵌套类:相当于类中的成员,能使用类成员的访问修饰符和修饰符,在访问嵌套类中的成员时必须加上外层类的名称。
(4)部分类:当一个类中的内容较多时将相似类中的内容拆分到不同的类中,并且部分类的名称必须相同。
语法格式:
访问修饰符 修饰符 partial(关键字) class 类名{……}
(5)Console类:主要用于控制台应用程序的输入和输出操作。
语法格式:
Console.Write(格式化字符串, 输出项1, 输出项2);
例:Console.WriteLine(“{0}同学在{1}学习”,name,school);
(6)Math类:主要用于一些数学的相关计算,提供了很多静态方法方便访问。
(7)Random类:产生伪随机数字的类。
构造函数:
a.New Random();
b.New Random(Int32);