14秋12级net程序设计实验指导手册统招Word格式文档下载.docx

上传人:b****6 文档编号:21567761 上传时间:2023-01-31 格式:DOCX 页数:26 大小:81.80KB
下载 相关 举报
14秋12级net程序设计实验指导手册统招Word格式文档下载.docx_第1页
第1页 / 共26页
14秋12级net程序设计实验指导手册统招Word格式文档下载.docx_第2页
第2页 / 共26页
14秋12级net程序设计实验指导手册统招Word格式文档下载.docx_第3页
第3页 / 共26页
14秋12级net程序设计实验指导手册统招Word格式文档下载.docx_第4页
第4页 / 共26页
14秋12级net程序设计实验指导手册统招Word格式文档下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

14秋12级net程序设计实验指导手册统招Word格式文档下载.docx

《14秋12级net程序设计实验指导手册统招Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《14秋12级net程序设计实验指导手册统招Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。

14秋12级net程序设计实验指导手册统招Word格式文档下载.docx

实验一继承与多态编程练习

【实验目的】

1.理解继承的含义,掌握派生类的定义方法和实现;

2.理解虚函数在类的继承层次中的作用,虚函数的引入对程序运行时的影响,能够对使用虚函数的简单程序写出程序结果。

3.编写体现类的继承性(成员变量,成员方法,成员变量隐藏)的程序;

4.编写体现类多态性(成员方法重载,构造方法重载)的程序。

【实验要求】

1.写出程序,并调试程序,要给出测试数据和实验结果。

2.整理上机步骤,总结经验和体会。

3.完成实验日志和上交程序。

【实验内容】

一、类的继承和构造函数的灵活应用

1、创建一个描述图书信息的类并测试。

类中应保存有图书的书号、标题、作者、出版社、价格等信息。

1)定义图书类Book,Book类中包含isbn(书号)、title(标题)、author(作者)、press(出版社)、price(价格)等私有字段。

由于对一本书来说,书号是唯一的,因此,isbn字段应声明为只读的。

2)为Book类中的每个字段定义相应的属性,由于isbn字段只读的,其相应属性也应该是只读的。

3)为Book类定义两个构造函数,其中,一个构造函数将所有字段都初始化为用户指定的值,另一个构造函数只要求用户指定有关书号的信息,它将调用上一个构造函数初始化对象,初始化时,价格取0,除书号的其他信息取“未知”。

4)为Book类定义方法Show,Show方法用于显示图书的所有信息。

5)编写Main方法测试Book类,Main方法中分别使用上述两个构造函数创建Book对象。

实验1程序:

classBook{

privatereadonlystringisbn;

//书号

privatestringtitle;

//标题

privatestringauthor;

//作者

privatestringpress;

//出版社

privateintprice;

//价格

publicBook(stringisbn):

this(isbn,"

未知"

"

0){

}

publicBook(stringisbn,stringtitle,stringauthor,stringpress,intprice){

this.isbn=isbn;

this.title=title;

this.author=author;

this.press=press;

this.price=price;

publicstringISBN{

get{

returnisbn;

}

publicstringTitle{

returntitle;

set{

title=value;

publicstringAuthor{

returnauthor;

author=value;

publicstringPress{

returnpress;

press=value;

publicintPrice{

returnprice;

price=value;

publicvoidShow(){

Console.WriteLine("

书号:

{0}"

isbn);

标题:

title);

作者:

author);

出版社:

{0}"

press);

价格:

price);

}

classTest5_1{

staticvoidMain(){

Bookbook1=newBook("

978-7-111-23423-4"

);

book1.Show();

Console.WriteLine();

book1.Title="

C#程序设计(C#2.0版)"

;

book1.Author="

刘慧宁"

book1.Press="

机械工业出版社"

book1.Price=32;

book1=newBook("

978-7-302-15800-4"

Java程序设计"

温秀梅"

清华大学出版社"

29);

2、编写一个程序计算出球、圆柱和圆锥的表面积和体积。

1)定义一个基类圆,至少含有一个数据成员:

半径;

2)定义基类的派生类:

球、圆柱、圆锥,都含有求体积函数,可以都在构造函数中实现,也可以将求体积和输出写在一个函数中,或者写在两个函数中,请比较使用。

3)定义主函数,求球、圆柱、圆锥的和体积。

classMyCircle

{

doubler;

publicMyCircle(doubler)

this.r=r;

classMyBall:

MyCircle

doublevolumn;

publicMyBall(doubler)

:

base(r)

volumn=Math.PI*r*r*r;

Console.WriteLine("

球的体积是:

volumn);

classMyCylinder:

MyCircle

publicMyCylinder(doubler,doubleh)

publicvoidcalvolomn(doubler,doubleh)

volumn=Math.PI*r*r*h;

publicvoidprint()

圆柱体的体积是:

volumn);

classMyCone:

doubleh,volumn;

publicMyCone(doubler,doubleh)

this.h=h;

publicvoidcalvolumn(doubler,doubleh)

volumn=Math.PI*r*r*h/3;

圆锥体的体积是:

publicclassTester

publicstaticvoidMain()

Console.Write("

请输入球半径:

"

doubler=Convert.ToDouble(Console.ReadLine());

MyBallmb=newMyBall(r);

请输入圆柱体高度:

doubleh=Convert.ToDouble(Console.ReadLine());

MyCylindermc=newMyCylinder(r,h);

mc.calvolomn(r,h);

mc.print();

请输入圆锥体高度:

doubleh2=Convert.ToDouble(Console.ReadLine());

MyConemo=newMyCone(r,h2);

h2={0},r={1}"

h2,r);

mo.calvolumn(r,h2);

Console.ReadLine();

3、设计一个图书卡片类Card,用来保存图书馆卡片分类记录。

1)这个类的成员包括书名、作者、馆藏数量。

2)至少提供两个方法,store书的入库处理,show显示图书信息。

3)程序运行时,可以从控制台上输入需要入库图书的总量,根据这个总数创建Card对象数组,然后输入数据。

4)可以选择按书名、作者、入库量进行排序。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

namespaceLibraryMIS

{

classCard

privatestringtitle,author;

privateinttotal;

publicCard()

title="

author="

total=0;

publicCard(stringtitle,stringauthor,inttotal)

this.title=title;

this.author=author;

this.total=total;

publicvoidstore(refCardcard)//使用ref关键字进行引用传递

title=card.title;

author=card.author;

total=card.total;

publicvoidshow()

Title:

{0},Author:

{1},Total:

{2}"

title,author,total);

publicstringTitle//Title的属性可读可写

get

{

returntitle;

set

title=value;

publicstringAuthor

returnauthor;

author=value;

publicstringTotal

get

returnTotal;

total=int.Parse(value);

classTable

staticvoidMain(string[]args)

**********图书管理系统*******"

2012版1.0,作者:

王晓宁"

TableT=newTable();

Card[]books;

int[]index;

inti,k;

Cardcard=newCard();

请输入需要入库图书的总数:

stringNo=Console.ReadLine();

intnum=int.Parse(No);

books=newCard[num];

for(i=0;

i<

num;

i++)

books[i]=newCard();

index=newint[num];

请输入书名:

card.Title=Console.ReadLine();

请输入作者:

card.Author=Console.ReadLine();

请输入入库量:

No=Console.ReadLine();

card.Total=No;

books[i].store(refcard);

//使用ref关键字进行引用传递

index[i]=i;

请选择按什么关键字排序(1.按书名,2.按作者,3.按入库量)"

intchoice=int.Parse(No);

switch(choice)

case1:

T.sortTitle(books,index);

break;

case2:

T.sortAuthor(books,index);

case3:

T.sortTotal(books,index);

k=index[i];

books[k].show();

Console.Read();

//按存入书的书名的首字母进行排序

voidsortTitle(Card[]book,int[]index)

inti,j,m,n,temp;

for(m=0;

m<

index.Length-1;

m++)

for(n=0;

n<

index.Length-m-1;

n++)

i=index[n];

j=index[n+1];

if(string.Compare(book[i].Title,book[j].Title)>

0)

temp=index[n];

index[n]=index[n+1];

index[n+1]=temp;

//按存入书的作者的名字的首字母进行排序

voidsortAuthor(Card[]book,int[]index)

if(string.Compare(book[i].Author,book[j].Author)>

//按存入书的数量进行排序

voidsortTotal(Card[]book,int[]index)

if(int.Parse(book[i].Total)>

int.Parse(book[j].Total))

实验运行结果

1——1按书名的首字母进行排序

1——2按作者名字的首字母进行排序

二、类的多态性练习

1、设计雇员系统,定义雇员基类,共同的属性,姓名、地址和出生日期,派生类:

程序员,秘书,高层管理,清洁工,他们有不同的工资算法,其中高级主管和程序员采用底薪加提成的方式,高级主管和程序员的底薪分别是5000元和2000元,秘书和清洁工采用工资的方式,工资分别是3000和1000,以多态的方式处理程序。

namespaceVariables

publicclassemployee

internalstringname,address,birthday;

publicemployee(stringname,stringaddress,stringbirthday)

this.name=name;

this.address=address;

this.birthday=birthday;

internaldoublesalary;

publicvirtualvoidSalary()

foroverriding"

publicclasssenior:

employee

publicsenior(stringname,stringaddress,stringbirthday)

base(name,address,birthday)

senior"

publicoverridevoidSalary()

salary=10000;

thesalaryforsenoir{0}is{1}"

name,salary);

}

publicclassprogrammer:

publicprogrammer(stringname,stringaddress,stringbirthday)

programmer"

salary=5000;

thesalaryforprogrammeris{0}"

salary);

publicclasssecretary:

publicsecretary(stringname,stringaddress,stringbirthday)

secretary"

salary=2000;

thesalaryforsecretaryis{0}"

publicclassdustman:

employee

publicdustman(stringname,stringaddress,stringbirthday)

dustman"

salary=1000;

{0}'

sbirthdayis{1}.Asadustman,thesalaryis{2}"

name,birthday,salary);

employeeemp;

emp=newsenior("

Jansy"

"

zibo"

1970-09-11"

emp.Salary();

emp=newdustman("

Tom"

zhangdian"

1960-01-22"

实验二接口编程练习

1.了解什么是接口,接口和抽象类的异同,掌握接口的方法实现,接口方法的重定义。

一、分析实现接口的程序文件

分析以下实现接口的程序文件并回答问题:

●本程序中的接口包含方法的构成是哪些;

●实现接口的类包含哪些元素?

●类实现接口方法的参数如何变换实现的?

●给出程序的输出结果。

代码如下:

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1