- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象技术实指导书(2011新)
实验一 面向对象程序设计
实验配置:
安装C++和JAVA程序的PC机。
二、实验内容:
编写一个统计动物种类的程序。练习应用类的继承,加深理解继承的概念。
首先声明一个名为Animal(动物)的基类,然后再创建两个派生类,一个是Mammal(哺乳动物),Bird(鸟类)。
子类Mammal含有子女数和读取子女数的成员函数NumOffspring();子类Bird含有生蛋数、是否筑巢,及取生蛋的成员函数GetEggs()。成员函数ShowMannal()和ShowBird()的功能是分别输出各自的对象参数。
三、部分类定义
Animal Bird类的定义如下:
Class Animal
{
Public:
Animal(const char *s){strncpy(name,s,29);}//构造函数
Const char * GetName(){return name;} //取动物的名称
Private:
Char name[30];// 动物的名称
}
Mammal类的定义如下:
Class Mammal:public Animal //继承了Animal类
{
public:
Mammal(const char *s,int nc):Animal(s){offspring=nc;}// 构造函数
int NumOffspring(){return offspring;}//取子女数目函数
void ShowMammal();//输出对象的参数
private:
int offspring;//记录哺乳动物子女的数目
};
Bird类的定义如下:
Class Bird:public Animal//继承了Animal类
{
Public:
Bird(const char *s,int ne,int nests);// 构造函数
int GetEggs(){return eggs;}//取生蛋数目
const char* BuildNest();//判断是否筑巢
void ShowBird();//输出Bird类对象的参数
private:
int eggs ; //生蛋数
int nesting; ; //若筑巢则为真
};
实验二 外观模式的运用
实验配置:
安装C++和JAVA程序的PC机。
二、实验内容:
案例描述:今年十一国庆节,我呆在家里美美的享受了一下家的温馨。首先让我来介绍一下我的家庭成员:
妻子(Wife)
女儿(Daughter)
我(Me)
我们都是家庭(Family)的一分子,我们是以家庭对外的。就象我们国家对外是以“中国”,外国人都称我们是中国人,但在中国这个大家庭内部,包括了汉、回、蒙 …… 等56个民族一样。
可见对外我们是要以统一的身份,或叫统一的外观(Facade)进行展现。
三、部分类定义:
分析:应先定义家庭的各个成员类,但这些类应给定统一的外观展现类。
类定义如下:
妻子(Wife):
public class Wife {
protected Wife() {
System.out.println(妻子美丽 !);
}
}
女儿(Daughter):
public class Daughter {
protected Daughter () {
System.out.println(女儿可爱 !);
}
}
我(Me):
public class Me {
protected Me() {
System.out.println(我爱我家 !);
}
}
定义家庭对外展现(FamilyOutShow)类:
public class FamilyOutShow {
public void MyFamily() {
Wife myWife = new Wife();? //我的 Daughter myDaughter = new Daughter ();? //我的女儿
Me me= new Me();? //我自己
}
}
3
public class MyFamilyTest {
public static void main(String[] args) {
FamilyOutShow myFamily = new FamilyOutShow ();
myFamily.MyFamily();
}
}
4、说明:
A:Facade的定义: 为子系统中的一组接口提供一个一致的界面。
B:使用统一对外接口,可以降低系统的复杂性,增加了灵活性。
从本例可
您可能关注的文档
- 隧道不良地质专施工方案.doc
- 隧道模筑衬砌施方案(桐木檀).doc
- 隧道网喷加固施方案(吉首隧道).doc
- 难点17 带电子在复合场中的运动分析.doc
- 难点38 考实验设计型命题的求解策略.doc
- 雅尔通识课-美原理.doc
- 雅礼中学初三语模拟卷.doc
- 集体备课: 摩力2.doc
- 集体林权流转合范本.doc
- 集成实验VCS验报告.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)