资源描述:
《实验4 面向对象的编程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章面向对象的编程基础实验1题目:创建一个描述图书信息的类并测试。类中应保存有图书的书号、标题、作者、出版社、价格等信息。实验目的:1)熟悉类的定义和使用。2)掌握创建对象的方法。3)掌握只读字段的声明及使用。4)学习定义和使用带参数构造函数。5)熟悉访问权限控制符。6)掌握属性的定义和使用。7)掌握关键字this。实验步骤:1)定义图书类Book,Book类中包含isbn(书号)、title(标题)、author(作者)、press(出版社)、price(价格)等私有字段。由于对一本书来说,书号是唯一的,因此,isbn字段应声明
2、为只读的。2)为Book类中的每个字段定义相应的属性,由于isbn字段只读的,其相应属性也应该是只读的。3)为Book类定义两个构造函数,其中,一个构造函数将所有字段都初始化为用户指定的值,另一个构造函数只要求用户指定有关书号的信息,它将调用上一个构造函数初始化对象,初始化时,价格取0,除书号的其他信息取“未知”。4)为Book类定义方法Show,Show方法用于显示图书的所有信息。5)编写Main方法测试Book类,Main方法中分别使用上述两个构造函数创建Book对象。参考答案:usingSystem;classBook{pri
3、vatereadonlystringisbn;//书号privatestringtitle;//标题privatestringauthor;//作者privatestringpress;//出版社privateintprice;//价格publicBook(stringisbn):this(isbn,"未知","未知","未知",0){}publicBook(stringisbn,stringtitle,stringauthor,stringpress,intprice){this.isbn=isbn;this.title=titl
4、e;this.author=author;this.press=press;this.price=price;}publicstringISBN{get{returnisbn;}}publicstringTitle{get{returntitle;}set{title=value;}}publicstringAuthor{get{returnauthor;}set{author=value;}}publicstringPress{get{returnpress;}set{press=value;}}publicintPrice{ge
5、t{returnprice;}set{price=value;}}publicvoidShow(){Console.WriteLine("书号:{0}",isbn);Console.WriteLine("标题:{0}",title);Console.WriteLine("作者:{0}",author);Console.WriteLine("出版社:{0}",press);Console.WriteLine("价格:{0}",price);}}classProgram{staticvoidMain(){Bookbook1=newBoo
6、k("978-7-111-23423-4");book1.Show();Console.WriteLine();book1.Title="C#程序设计(C#2.0版)";book1.Author="刘慧宁";book1.Press="机械工业出版社";book1.Price=32;book1.Show();Console.WriteLine();book1=newBook("978-7-302-15800-4","Java程序设计","温秀梅","清华大学出版社",29);book1.Show();Console.ReadLine(
7、);}}运行结果如下:实验2DLL文件实验题目:在特定的命名空间中定义一个类,类中仅包含一个非Main方法,在该方法被调用时,打印出信息表明其被调用;在另一个命名空间中定义一个类,并在该类的Main方法中调用前一个命名空间中类的方法。实验目的:1)理解命名空间和程序集的概念。2)掌握DLL文件的创建过程。3)掌握命名空间的创建和使用。4)熟悉访问权限控制符。实验方法1:A类和B类不在同一个项目中实验步骤:1)创建类库,并在命名空间Test1中定义类A,A类中包含一个方法Mehtod,该方法中有一条语句打印字符串“调用A类的Metho
8、d方法”,为了保证A类及Method方法可以在其他程序集中使用,它们都应该声明为公共的。将该类库生成DLL动态链接库文件2)创建控制台应用程序,在命名空间Test2中定义类B,并在B类的Main方法中调用前面定义的A类的Method方