收藏 分享(赏)

09-10_面向对象编程技术new.doc

上传人:dreamzhangning 文档编号:2239551 上传时间:2018-09-07 格式:DOC 页数:7 大小:58KB
下载 相关 举报
09-10_面向对象编程技术new.doc_第1页
第1页 / 共7页
09-10_面向对象编程技术new.doc_第2页
第2页 / 共7页
09-10_面向对象编程技术new.doc_第3页
第3页 / 共7页
09-10_面向对象编程技术new.doc_第4页
第4页 / 共7页
09-10_面向对象编程技术new.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、实验 9 面向对象编程技术实验目的:1. 类的声明2. 对象的实例化3. 静态成员和非静态成员4. 掌握如何定义类的方法5. 掌握如何调用方法6. 构造函数实验准备:参考课件:第 7 章 面向对象编程技术 .ppt实验内容:1) 类的声明:类是 C#的一种自定义数据类型。声明格式为 :类修饰符 class 类名 :基类类名类的成员方括号括起的内容表示可选的内容(根据实际情况可以有,也可以没有) 。类修饰符目前一般省略。基类类名在目前也省略。类的成员定义类似于普通变量的定义。但前面可以有成员修饰符。成员修饰符表示成员的可见范围,目前主要有 public 和 private 两种。Public 修

2、饰的成员可以在类的外部直接访问,而 private 的成员只能在该类内部可见(该类内部的方法可以访问) 。例子定义一个表示车辆信息的类(有 3 个成员变量)class Vehiclepublic int passengers;public int fuelcap;public int mpg;练习 1:定义一个表示学生成绩类,成员包含学生的姓名、班级、成绩和科目class studentPublic int name;Public int class;Public int grade;Public int subject;2) 对象的声明:定义类仅仅是定义了类的结构。一般要利用这个类型生成相应

3、的对象,才能够使用对象的成员。声明对象名格式():类名 对象名例:Vehicle minivan;创建类的实例:使用 new 关键字可以建立类的一个实例:对象名 = new 类名();创建了相应的实例后,可以使用 对象名.成员名 的方式访问对象的成员例:using System;class ClassApublic int mm;class ClassBpublic static void Main()ClassA a;/ a.mm = 100; / 错误,对象未实例化a = new ClassA();a.mm = 100; / 正确Console.WriteLine(a.mm);练习 2:利

4、用上面定义的学生成绩类,创建对象,并访问对象成员3) 静态成员和非静态成员静态成员在声明成员的指令前加上 static 保留字静态成员属于类共同所有,非静态成员属于类的对象所有练习 3:类定义如下:class ClassApublic int m1;public string m2;public static string m3;编写一个程序,要求访问以上所有成员。4) 定义类的方法方法的定义格式如下:修饰符 返回值类型 方法名(形式参数列表)方法体语句例子:using System;class Student/ int id; string name;public void sayHello

5、() Console.WriteLine(“Hi!“);class Testpublic static void Main() Student s1=new Student();s1.sayHello(); 类的方法表示对象可以完成的某种功能,或者可以进行的某种运算。思考:指出下列程序代码中的错误,并改正class Teststatic void Main()M();int M()Console.WriteLine(“Welcome“);练习 4:1 在 Student 类中增加一个表示知识多少的成员变量 Knowledge。study 方法可以增加 Knowledge 的值。请根据这个假设定

6、义一个 study 方法。在 Main()方法中调用这个 study 方法,并显示调用前和调用后 Knowledge 的值。using System;class Student/ int id; string name;public void sayHello() Console.WriteLine(“Hi!“);5) 调用方法一般同一个方法调用的时候都有一些区别,这些调用之间的区别使用参数来指定。比如,调用 Console.WriteLine()方法,使用不同的参数,产生的效果也会不同。参数可以有多个,类似于变量,需要指定参数的类型。在方法定义的时候,把所用的参数(形参)依次列出:修饰符 返

7、回值类型 方法名(类型 1 参数名 1, 类型 2 参数名 2, 类型 3 参数名 3,.)方法体语句注意:参数之间使用逗号分隔,而且每个参数前面都必须有类型。我们有时候需要了解方法执行的结果。可以通过方法的返回值来表示方法执行的结果。返回值的类型在方法头中指定。实际返回的值,在方法体中通过return 语句指定。return 语句后接一个表达式,表示要把 return 后接的表达式的值返回到调用者。如果方法不需要返回值,则返回类型为 void(无类型),在方法体中直接使用 return 返回。也可以不用 return,让方法体执行结束后直接返回。例:表示汽车加速的方法:using Syste

8、m;class Carpublic double v=0.0;public double Acce(double a) v = v+a; return v; public static void Main()Car t1 = new Car ();Console.WriteLine(“v0=0“, t1.v);Console.WriteLine(“v1=0“, t1.Acce(4);Console.WriteLine(“v2=0“, t1.v);使用不同的参数调用的时候,对对象的影响是不同的。练习 5:给 Car 类添加一个表示目前汽车前进方向的数据成员Direct(单位为角度) 。方法 Tu

9、rn 表示调整汽车的方向。定义并调用这个Turn 方法,并返回调整之后的汽车方向6) 构造函数构造函数:构造函数是类的特殊成员,具有特殊的名字,并且是由系统自动调用,而不能有代码直接调用的。为了在生成对象的时候对对象进行初始化,需要使用构造函数。构造函数也是类的方法成员。构造函数的方法名必须与类名相同。在对象生成时,可以设置构造函数的参数。构造函数没有返回值(注意也不是 void) 。using System;class Pointint x, y;public Point(int x0, int y0) x=x0; y=y0; / 构造函数 public void sayHello() Co

10、nsole.WriteLine(“Hello, I am in (0,1).“, x, y); class Testpublic static void Main()Point p1 = new Point(6, 5); / 生成对象时,构造函数被自动调用p1.sayHello();练习 6:完成一个表示坦克的类的设计,要求实现以下功能:具有重量 Weight 和油量 Oil 数据成员。在生成对象时,可以对数据成员进行初始化。具有表示开动的方法 Drive,该方法表示开动一定的距离 Distance。开动时,需要耗费一定的油量为 Weight * Distance*0.1。另外还有一个方法 ShowState,可以显示该坦克的所有数据成员的数值。参考测试主程序:class Testpublic static void Main()Tank t=new Tank(2000, 500);t.ShowState();t.Drive(500);t.ShowState();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报