




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验二、面向对象程序设计2.1 C#面向对象程序设计(一)一、实验目的理解c#语言是如何体现面向对象编程基本思想。掌握类对象的定义。了解类的封装方法,以及如何创建类和对象。了解成员变量和成员方法的特性。掌握静态成员的用法。二、实验要求分析程序,上机验证结果。写出程序,并调试程序,要给出测试数据和实验结果。整理上机步骤,总结经验和体会。完成实验日志和上交程序。三、实验内容题目一:程序分析分析下面两个程序,确定那个程序好,说明理由。程序要求:定义一个圆类,计算圆的面积和周长。程序1:public class circlepublic static void Main()double radium,
2、 delimeter, square;const double pai = 3.1415926;radium = Convert.ToInt32(Console.ReadLine();delimeter = 2 * pai * radium;square = pai * pai * radium;Console.WriteLine(delimeter=0,square=1, delimeter, square);Console.ReadLine();程序2:public class circledouble delimeter, square;const double pai = 3.1415
3、926;public void calculate(double rad)delimeter = 2 * pai * rad; square = pai * pai * rad;Console.WriteLine(delimeter=0,square=1”,delimeter,square);public static void Main()double radium;circle cir = new circle();radium = Convert.ToInt32(Console.ReadLine();cir.calculate(radium);Console.ReadLine();分析程
4、序,写出程序的运行结果,并上机进行验证。Using System;public class studentsstring id,name;int age;public students(string id,string name,int age )this.id = id; = name;this.age = age;public void Display()Console.WriteLine(id=0,name=1,age=2”,id,name,age);public static void Main()/string id, name;/int age;students
5、stu = new students(0001”,zhangsan”,16);stu.Display();Console.ReadLine();分析程序,写出程序的运行结果,并上机进行验证。public class Date private int Year, Month, Day;public Date(int Year, int Month,int Day) this.Year=Year; this.Month=Month;this.Day=Day;public Date(System.DateTime dt)Year = dt.Year;Month = dt.Month;Day = dt
6、.Day;public void DisplayDate()Console.WriteLine(0年1月2日,Year,Month,Day);public class Testerpublic static void Main()System.DateTime currentTime=System.DateTime.Now;Date dt=new Date(2008,7,18);dt.DisplayDate();Date dt2 = new Date(currentTime);dt2.DisplayDate();Console.ReadLine();题目二:程序编写实现一个包含类属性方法的简单
7、加法程序,并能显示结果。实现一个Person类,要求:属性包含姓名、年龄、身份证号、工作、工资等,并 显示各属性的值。2.2。#面向对象程序设计(二)、实验目的掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义 和重载构造函数。能够根据给定的要求定义类并实现类的成员函数。理解类的成员的访问控制的含义,公有、私有和保护成员的区别。掌握参数传递的用法。掌握属性的作用和使用。二、实验要求分析程序,上机验证结果。写出程序,并调试程序,要给出测试数据和实验结果。整理上机步骤,总结经验和体会。完成实验日志和上交程序。三、实验内容题目一:程序分析(1) 分析程序,写出程序的运行结果,并
8、上机进行验证,然后回答后面问题。public class BankAccountstatic int totalAccountNumber=0;string BankAccountId;double initialDepositAmount = 0.00;public BankAccount(string myId)this.BankAccountId = myId;this.initialDepositAmount = 0.00;totalAccountNumber+;public void displayid()Console.WriteLine(mbaid=0,initialDeposi
9、tAmount=1”,this.BankAccountId,this. initialDepositAmount);public static void display()Console.WriteLine(totalAccountNumber=0”, totalAccountNumber);public class Testerpublic static void Main()BankAccount mba = new BankAccount(37000001);BankAccount mba2 = new BankAccount(3700002);BankAccount mba3 = ne
10、w BankAccount();BankAccount mba4 = new BankAccount(3700004);/ Console.WriteLine(mba2ID=0”, mba2.BankAccountId);mba2.displayid();BankAccount.display();Console.ReadLine();请回答问题:(1)按你自己的算法修改以上程序,比如可只输出生成的账户数。(2)把注释去掉后会怎样,为什么?(3)为什么display用类名直接引用,可以用对象来引用么?尝试输出结果。(4)类的静态变量和非静态变量的引用区别。判断一下语句的正确性:静态方法只能使用
11、静态变量,不能使用实例变量。因为对象实例化之前,实例变量不可 用。这个观点真确么?()类的静态变量只有一个版本,所有实例对象引用的都是同一个版本。()对象实例化后,每个实例变量都被制作了一个副本,它们之间互不影响。()题目二:程序编写编写一个传值调用的程序。程序功能要求:程序首先给整型变量乂和y赋初值3, 5,然后使用传值调用方式调 用方法对x和y做乘方并及输出x和y的乘方值,最后输出x和y得值。再将此方法给为 对象调用加ref修饰查看输出结果差异。【思考题】方法的参数传递有哪些方式?区别时什么?什么是构造方法。2.32.1 C#面向对象程序设计(三)一、实验目的掌握继承的工作机制和意义。掌握
12、派生类的定义方法和实现。掌握base关键字的使用。编写体现类的继承性(成员变量,成员方法,成员变量隐藏)的程序。二、实验要求写出程序,并调试程序,要给出测试数据和实验结果。整理上机步骤,总结经验和体会。完成实验日志和上交程序。三、实验内容进一步理解继承的含义新类可从现有的类中产生,并保留现有类的成员变量和方法并可根据需要对它们加以修 改。新类还可添加新的变量和方法。这种现象就称为类的继承。当建立一个新类时,不 必写出全部成员变量和成员方法。只要简单地声明这个类是从一个已定义的类继承下来 的,就可以引用被继承类的全部成员。被继承的类称为父类或超类Superclass),这 个新类称为子类。进一步理解继承的意义C#提供了一个庞大的类库让开发人员继承和使用。设计这些类是出于公用的目的,因 此,很少有某个类恰恰满足你的需要。你必须设计自己的能处理实际问题的类,如果你 设计的这个类仅仅实现了继承,则和父类毫无两样。所以,通常要对子类进行扩展,即 添加新的属性和方法。这使得子类要比父类大,但更具特殊性,代表着一组更具体的对 象。继承的意义就在于此。题目一:类的继承和基类构造方法的应用程序功能要求如下:编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班级和成绩,教师 数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息技术必修一《数据与计算》第二章第二节《程序设计语言基本知识》教学设计
- 定西师范高等专科学校《生命科学基础二:细胞生物学》2023-2024学年第二学期期末试卷
- 沈阳职业技术学院《中医药文化与养生》2023-2024学年第二学期期末试卷
- 驻马店职业技术学院《写意画》2023-2024学年第二学期期末试卷
- 阜阳幼儿师范高等专科学校《电子线路CAD技术B》2023-2024学年第二学期期末试卷
- Unit 3 Amazing animals PartA (教学设计)-2024-2025学年人教PEP版(2024)英语三年级上册
- 盐城师范学院《现代材料分析技术》2023-2024学年第二学期期末试卷
- 广东云浮中医药职业学院《民俗学与民间文学》2023-2024学年第二学期期末试卷
- 钢轨购销合同范本
- 山西大同大学《三维机械CAD实验》2023-2024学年第二学期期末试卷
- 【跨境电商零售进口税收征管对策及建议16000字(论文)】
- DZ∕T 0332-2020 碳酸盐岩油气藏缝洞体雕刻法资源储量估算规范(正式版)
- 心血管介入护士进修汇报
- 施工组织设计内部审批表
- 《企业的可持续发展》课件
- 零至三岁儿童及老年人中医保健指导专业知识讲座培训课件
- DB12-T 1305-2024 公路沥青路面泡沫沥青冷再生技术规范
- 范文语文评课稿15篇
- 2024年山东省春季高考技能考试汽车专业试题库-中(多选题汇总)
- 2016-2023年德州科技职业学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 《人文科学概论》课件
评论
0/150
提交评论