最新第3章-面向对象基础new.ppt
文本预览下载声明
33243 热都是 第三章 面向对象基础 C#程序设计实用教程 学习目标 类和对象 1 2 3 封装:成员变量与成员方法 构造方法和析构方法 4 4 this关键字 对象 * 属性 型号 价格 里程 行为 起动 停车 行驶 属性 车轮数量 档的数量 行为 加速 换档 刹车 属性 名称 颜色 品种 行为 摇尾巴 吃东西 犬 吠 类 类是 C# 中的一种结构,用于在程序中模拟现实生活的事物 * 语法: [访问修饰符] class 类名 { // 类的主体 } 示例: class Student { // 类的主体 } // 成员变量 // 成员方法 类与对象 类 * 类是 C# 中的一种结构,用于在程序中模拟现实生活的事物 语法: [访问修饰符] class 类名 { // 类的主体 } 示例: class Student { // 类的主体 } // 成员变量 // 成员方法 类和对象 示例 public class Student { public string name; public int age; public void Show() { Console.WriteLine(学生姓名:{0},年龄:{1}, name, age); Console.ReadLine(); } } 成员变量也叫字段 成员方法 类和对象 访问修饰符 * Teacher 类 private 成员 protected 成员 public 成员 internal 成员 Student 类 只有 Student 类在 Teacher 类都在同一程序集中,才可访问internal成员 不可访问 不可访问 可以访问 访问修饰符 * 修饰符 说明 public 所属类的成员以及非所属类的成员都可以访问 internal 当前程序集可以访问 private 只有所属类的成员才能访问 protected 所属类或派生自所属类的类型可以访问 传值 值传递时,对一个变量的操作不影响其他的变量 class ValueChance //值类型的数据传递 { static void Main(string[] args) { //将i的值传给j,然后i自增,j的值会随i的变化而变化吗? int i = 30; int j = i; i++; Console.WriteLine(j); Console.ReadKey(); } } 输出结果:30 传引用 而引用类型存储的是对数据值的引用,对一个变量的操作会影响另一个变量所引用的同一对象,因此值有可能被改变。 class ReferChance //引用类型的数据传递 { static void Main(string[] args) { //将s1的值传给s2,然后s1自增,s2的值会随s1的变化而变化吗? Student s1 = new Student(30); //创建Student类的实例s1 Student s2 = s1; //把s1的值传递给s2 s1.Number++; Console.WriteLine(s2.Number); Console.ReadKey(); } } class Student { public int Number; public Student(int number) { this.Number = number; } } 输出结果:31 装箱与拆箱 装箱的代码如下例所示: int i=0; //给整数型i赋值为0 System.Object obj=i; //将i装箱至System.object对象obj 以上代码所示即将整型数据i装箱。 拆箱的代码如下例所示,先装箱,再拆箱: int i=0; //给整数型i赋值为0 System.Object obj=i; //将i装箱至System.object对象obj int j=(int)obj; //将obj拆箱 前2句是将i装箱,后一句是将obj拆箱。 由上述案例可见,值类型有装箱和未装箱两种形式,引用类型总是装箱形式。 装箱和拆箱过程可以隐式地显现在代码中。比如: int i=0; //给整数型i赋值为0 System.Object obj=i; //将i装箱至Syste
显示全部