文档详情

面向对象技术实验指导书2011新.doc

发布:2017-04-21约1.35万字共24页下载文档
文本预览下载声明
 PAGE 24 实验一 面向对象程序设计 实验配置: 安装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:使用统一对外接口,可以降低系统的复杂性,增加了灵活性。 从本例可以看到,外界只
显示全部
相似文档