试验二面向对象程序设计.doc

上传人:scccc 文档编号:12576500 上传时间:2021-12-04 格式:DOC 页数:8 大小:52.50KB
返回 下载 相关 举报
试验二面向对象程序设计.doc_第1页
第1页 / 共8页
试验二面向对象程序设计.doc_第2页
第2页 / 共8页
试验二面向对象程序设计.doc_第3页
第3页 / 共8页
试验二面向对象程序设计.doc_第4页
第4页 / 共8页
试验二面向对象程序设计.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《试验二面向对象程序设计.doc》由会员分享,可在线阅读,更多相关《试验二面向对象程序设计.doc(8页珍藏版)》请在三一文库上搜索。

1、实验指导书实验二、面向对象程序设计2.1 C#面向对象程序设计(一)一、实验目的1. 理解c#语言是如何体现面向对象编程基本思想。2. 掌握类对象的定义。3. 了解类的封装方法,以及如何创建类和对象。4. 了解成员变量和成员方法的特性。5. 掌握静态成员的用法。二、实验要求1. 分析程序,上机验证结果。2. 写出程序,并调试程序,要给出测试数据和实验结果。3. 整理上机步骤,总结经验和体会。4. 完成实验日志和上交程序。三、实验内容题目一:程序分析(1) 分析下面两个程序,确定那个程序好,说明理由。 程序要求:定义一个圆类,计算圆的面积和周长。程序1 :public class circlep

2、ublic static void Mai n()double radium, delimeter, square;const double pai = 3.1415926;radium = Con vert.ToI nt32(Co nsole.ReadLi ne();delimeter = 2 * pai * radium;square = pai * pai * radium;Con sole.WriteL in e("delimeter=0,square=1", delimeter, square); Con sole.ReadL in e();程序2:public

3、class circledouble delimeter, square;const double pai = 3.1415926;public void calculate(double rad)delimeter = 2 * pai * rad;-8 -square = pai * pai * rad;Con sole.WriteLi ne("delimeter=0,square=1",delimeter,square); public static void Mai n()double radium;circle cir = new circle。;radium =

4、Con vert.ToI nt32(Co nsole.ReadLi ne(); cir.calculate(radium);Con sole.ReadL in e();(2) 分析程序,写出程序的运行结果,并上机进行验证。Using System;public class stude ntsstring id,name;int age;public students(string id,string name,int age )this.id = id;this .n ame = n ame;this.age = age;public void Display()Con sole.WriteL

5、 in e("id=0 ,n ame=1,age=2",id, name,age);public static void Mai n()/stri ng id, n ame;/int age;students stu = new students("0001","zhangsan",16);stu.Display();Con sole.ReadL in e();(3) 分析程序,写出程序的运行结果,并上机进行验证。public class Dateprivate int Year, Mon th, Day;public Date(in

6、t Year, int Month,int Day)this.Year=Year;this.M on th=Mo nth;this.Day=Day;public Date(System.DateTime dt)Year = dt.Year;Mon th = dt.Mo nth;Day = dt.Day;public void DisplayDate()Console.WriteLine("0 年1月2日",丫ear,Month,Day);public class Testerpublic static void Mai n()System.DateTime curre nt

7、Time=System.DateTime.Now;Date dt=new Date(2008,7,18);dt.DisplayDate();Date dt2 = new Date(curre ntTime);dt2.DisplayDate();Con sole.ReadL in e();题目二:程序编写(1) 实现一个包含类属性方法的简单加法程序,并能显示结果。(2) 实现一个Person类,要求:属性包含姓名、年龄、身份证号、工作、工资等,并 显示各属性的值。2.2 C#面向对象程序设计(二)一、实验目的1. 掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义 和重载构

8、造函数。能够根据给定的要求定义类并实现类的成员函数。2. 理解类的成员的访问控制的含义,公有、私有和保护成员的区别。3. 掌握参数传递的用法。4. 掌握属性的作用和使用。、实验要求1. 分析程序,上机验证结果。2. 写出程序,并调试程序,要给出测试数据和实验结果。3. 整理上机步骤,总结经验和体会。4. 完成实验日志和上交程序。三、实验内容题目一:程序分析(1)分析程序,写出程序的运行结果,并上机进行验证,然后回答后面问题。public class Ban kAcco untstatic int totalAcco un tNumber=0;string BankAccountId;doubl

9、e in itialDepositA mount = 0.00;public Ban kAcco un t(stri ng myld)this.Ba nkAcco un tId = myId;this.i ni tialDepositAmou nt = 0.00;totalAcco un tNumber+;public void displayid()Con sole.WriteLi ne("mbaid=0,i ni tialDepositAmou nt=1",this.Ba nkAccou ntld,this. in itialDepositA moun t);publi

10、c static void display()Console.WriteLine("totalAccountNumber=0", totalAccountNumber);public class Testerpublic static void Mai n()Ba nkAccou nt mba = new Ban kAccou nt("37000001");Ban kAccou nt mba2 = new Ba nkAccou nt("3700002");Ban kAcco unt mba3 = new Ban kAcco un t(

11、"");Ban kAccou nt mba4 = new Ba nkAccou nt("3700004");/ Console.WriteLine("mba2ID=0", mba2.BankAccountId);mba2.displayid();Ban kAcco un t.display();Con sole.ReadL in e();请回答问题:(1)按你自己的算法修改以上程序,比如可只输出生成的账户数。(2)把注释去掉后会怎样,为什么?(3)为什么display用类名直接引用,可以用对象来引用么?尝试输出结果。(4)类的静态变量

12、和非静态变量的引用区别。判断一下语句的正确性:静态方法只能使用静态变量,不能使用实例变量。因为对象实例化之前,实例变量不可 用。这个观点真确么?()类的静态变量只有一个版本,所有实例对象引用的都是同一个版本。()对象实例化后,每个实例变量都被制作了一个副本,它们之间互不影响。()题目二:程序编写1. 编写一个传值调用的程序。程序功能要求:程序首先给整型变量x和y赋初值3,5,然后使用传值调用方式调用方法对x和y做乘方并及输出x和y的乘方值,最后输出x和y得值。再将此方法给为 对象调用加ref修饰查看输出结果差异。【思考题】1. 方法的参数传递有哪些方式?区别时什么?2. 什么是构造方法。2.3

13、2.1 C#面向对象程序设计(三)一、实验目的1. 掌握继承的工作机制和意义。2. 掌握派生类的定义方法和实现。3. 掌握base关键字的使用。4. 编写体现类的继承性(成员变量,成员方法,成员变量隐藏)的程序。二、实验要求1. 写出程序,并调试程序,要给出测试数据和实验结果。2. 整理上机步骤,总结经验和体会。3. 完成实验日志和上交程序。三、实验内容1. 进一步理解继承的含义新类可从现有的类中产生,并保留现有类的成员变量和方法并可根据需要对它们加以修 改。新类还可添加新的变量和方法。这种现象就称为类的继承。当建立一个新类时,不 必写出全部成员变量和成员方法。只要简单地声明这个类是从一个已定

14、义的类继承下来的,就可以引用被继承类的全部成员。被继承的类称为父类或超类(superclass ),这个新类称为子类。2. 进一步理解继承的意义如果你C#提供了一个庞大的类库让开发人员继承和使用。设计这些类是出于公用的目的,因 此,很少有某个类恰恰满足你的需要。你必须设计自己的能处理实际问题的类, 设计的这个类仅仅实现了继承,则和父类毫无两样。所以,通常要对子类进行扩展,即 添加新的属性和方法。这使得子类要比父类大,但更具特殊性,代表着一组更具体的对 象。继承的意义就在于此。题目一:类的继承和基类构造方法的应用程序功能要求如下:编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班级和成绩,教师 数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类 stude nt和教师类数据操作类teacher的基类。题目二:类的继承和构造函数的灵活应用编写一个程序计算出球、圆柱和圆锥的表面积和体积。要求:定义一个基类圆,至少含有一个数据成员半径;定义基类的派生类球、圆柱、圆锥,都 含有求体积函数,可以都在构造函数中实现,也可以将求体积和输出写在一个函数中, 或者写在两个函数中,请比较使用。定义主函数,求球、圆柱、圆锥的和体积。

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1