4.C#类和对象
1.面向对象编程简介
面向对象的编程(Object-OrientedProgramming, OOP)语言
所谓面向对象是指在编程时将任何事物都看成是一类对象来描述。
对象包括属性和方法,属性是指对象固有的特征,方法则是对象的行为。
面向对象语言的三大特征分别是封装、继承、多态
2.C#类的定义(class)
在 C# 语言中创建的任何项目都有类的存在,通过类能很好地体现面向对象语言中封装、继承、多态的特性。
类定义的具体语法形式如下:
类的访问修饰符 修饰符 类名
{
类的成员
}
**类的访问修饰符:**用于设定对类的访问限制,包括 public、internal 或者不写,用internal 或者不写时,代表只能在当前项目中访问类;public 则代表可以在任何项目中访问类
**修饰符:**修饰符是对类本身特点的描述,包括 abstract、sealed 和 static。abstract 是抽象的意思,使用它修饰符的类不能被实例化;sealed修饰的类是密封类,不能被继承;static 修饰的类是静态类,不能被实例化。
**类名:**类名用于描述类的功能,因此在定义类名时最好是具有实际意义,这样方便用户理解类中描述的内容。在同一个命名空间下类名必须是唯一的。
类的成员:在类中能定义的元素,主要包括字段、属性、方法。
例:
新建一个人员类,里面包含两个成员变量和一个成员方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threaing.Tasks;
namespace ConsoleApp1
{
/// <summary>
/// 对人个体的封装类
/// </summary>
class Person
{
//名称
public string personName;
//年龄
public int personAge;
/// <summary>
/// 对人个体的封装类
/// </summary>
public void PrintPersonInfo()
{
Console.WriteLine("姓名:{personName},年龄:{personAge}");
}
}
}
注意:
尽管可以在一个命名空间中定义多个类,但不建议使用这种方式,最好是每一个文件定义一个类,这样方便阅读和查找。
3.C#访问修饰符
1.成员的访问修饰符
类中的成员包括字段、属性、方法。每个类成员在定义时需要指定访问修饰符、修饰符。
类的访问修饰符主要有两个,即 internal 和 public,如果省略了访问修饰符,即为internal。
类中成员的访问修饰符有 4 个,具体用法如下:
-
public
成员可以被任何代码访问
-
private
成员仅能被同一个类中的代码访问,如果在类成员前未使用任何访问修饰符,则默认为private
-
internal
成员仅能被同一个项目中的代码访问
-
protected
成员只能由类或派生类中的代码访问。派生类是在继承中涉及的。
2.成员的修饰符
在修饰字段时通常用两个修饰符,即readonly(只读)、static(静态)、const(常量),三者不能修饰同一个成员。
使用readonly修饰字段意味着只能读取该字段的值而不能给字段赋值。
使用static修饰的字段是静态字段,可以直接通过类名访问该字段。
3.成员的默认值
字段在类中定义完成后,在类加载时,会自动为字段赋值,不同数据类型的字段默认值不同,如:
数据类型 | 默认值 |
---|---|
整数类型 | 0 |
浮点型 | 0 |
字符串类型 | “” |
字符型 | ‘\0’ |
布尔型 | false |
其他引用类型 | null |
4.C#中的方法
1.方法的定义
定义方法的语法形式:
访问修饰符 修饰符 返回值类型 方法名(参数列表){
语句块;
}
-
访问修饰符
所有类成员访问修饰符都可以使用,