
ZJWCHC 第三章 在C#中实现面向对象的概念
ZJWCHC 在C#中实现面向对象的概念 第三章

目标 ◆理解C#的类和对象 ◆使用C#构造函数和析构函数 ◆使用C#访问修饰符 ◆使用方法 ◆理解命名空间
2 目标 理解 C# 的类和对象 使用 C# 构造函数和析构函数 使用 C# 访问修饰符 使用方法 理解命名空间

对象 属性 行为 型号 行驶 价格 起动 里程 停车 属性 行为 名称 犬吠 属性 行为 颜色 摇尾巴 品种 车轮数量 刹车 吃东西 档的数量 加速 换档 3
3 对象 属性 型号 价格 里程 行为 起动 停车 行驶 属性 车轮数量 档的数量 行为 加速 换档 刹车 属性 名称 颜色 品种 行为 摇尾巴 吃东西 犬 吠

类 ◆类是C#中的一种结构,用于在程序中模拟现实 生活的事物 语法: [访问修饰符]class ∥类的主体 示例: class Student ∥成员变量 ∥成员方法
4 类 类是 C# 中的一种结构,用于在程序中模拟现实 生活的事物 语法: [访问修饰符] class { // 类的主体 } 示例: class Student { // 类的主体 } // 成员变量 // 成员方法

成员变量 class Student private string_name; private char gender; private string class; private uint grade; … 访问成员变量 步骤1:创建一个类的对象 Student obj new Student(); 步骤2:使用点号访问成员变量 obj,_name=“张三"; obj._name='M';
5 语法: 成员变量 [访问修饰符] 数据类型 成员变量; private protected internal public _name status …. userName int char …. bool … class Student { private string _name; private char _gender; private string _class; private uint _grade; } … 访问成员变量 步骤 1:创建一个类的对象 Student obj = new Student(); 步骤 2:使用点号访问成员变量 obj._name = “张三"; obj._name = 'M';

访问修饰符2-1 Teacher类 Student类 private成员 不可访问 protected成员 X 不可访问 public成员 可以访问 只有Student类在Teacher类 internal成员 都在同一程序集中,才可访问 interna成员 6
6 访问修饰符 2-1 Teacher 类 private 成员 protected 成员 public 成员 internal 成员 Student 类 只有 Student 类在 Teacher 类 都在同一程序集中,才可访问 internal成员 不可访问 不可访问 可以访问

访问修饰符2-2 修饰符 说明 public 所属类的成员以及非所属类的成员都可以访问 internal 当前程序集可以访问 private 只有所属类的成员才能访问 protected 所属类或派生自所属类的类型可以访问
7 访问修饰符 2-2 修饰符 说明 public 所属类的成员以及非所属类的成员都可以访问 internal 当前程序集可以访问 private 只有所属类的成员才能访问 protected 所属类或派生自所属类的类型可以访问

构造函数2-1 ◆构造函数是类的一种特殊方法,每次创建类的实 例都会调用它 语法: [访问修饰符] 类名(0 ∥构造函数的主体 示例: ∥默认构造函数 Student() _class=“信管";
8 构造函数 2-1 构造函数是类的一种特殊方法,每次创建类的实 例都会调用它 [访问修饰符] () { // 构造函数的主体 } 语法: … // 默认构造函数 Student() { _class = “信管"; } … 示例:

构造函数2-2 class Student private string name private char gender: private string class; private uint grade: ∥默认构造函数 private Student() _cass=“信管"; static void Main(string[]args) { ∥调用默认构造函数 Student obj=new Student(); Console.WriteLine(班级="+obj,_class; Console.WriteLine("成绩="+obj.grade); 9
9 演示:示例1 构造函数 2-2 class Student { private string _name; private char _gender; private string _class; private uint _grade; // 默认构造函数 private Student() { _class = “信管"; } static void Main(string[] args) { // 调用默认构造函数 Student obj = new Student(); Console.WriteLine(“班级= " + obj._class); Console.WriteLine(“成绩= " + obj._grade); } }

参数化构造函数2-1 语法: [访问修饰符]([参数列表]) { ∥构造函数的主体 } 示例: ∥参数化构造函数 Student(string strclass) class strclass; 10
10 参数化构造函数 2-1 [访问修饰符] { // 构造函数的主体 } 语法: ([参数列表]) … // 参数化构造函数 Student(string strclass) { _class = strclass; } … 示例: