关于接口和实现分离的程序设计题

问题描述

各位大神求指教现在出于需要要画一个Rectangle的类,其中有个draw()方法,Rectangle类分别被另外两个类使用。而其中的draw()方法依赖于GUI类实现。也就是说Rectangle依赖于GUI类,而另外两个类依赖于Rectangle类。如何设计更加符合面向对象的原则?

时间: 2024-09-21 17:38:08

关于接口和实现分离的程序设计题的相关文章

C++中接口与实现分离的技术

在用C++写要导出类的库时,我们经常只想暴露接口,而隐藏类的实现细节.也就是说我们提供的头文件里只提供要暴露的公共成员函数的声明,类的其他所有信息都不会在这个头文件里面显示出来.这个时候就要用到接口与实现分离的技术. 下面用一个最简单的例子来说明. 类ClxExp是我们要导出的类,其中有一个私有成员变量是ClxTest类的对象,各个文件内容如下: lxTest.h文件内容: class ClxTest{ public: ClxTest(); virtual ~ClxTest(); void Do

c语言-一道简单的C语言程序设计题

问题描述 一道简单的C语言程序设计题 产生30个[10,100]之间的随机整数到5行6列的数组中,求其中最大值和最小值,并把最大值元素和右上角元素对调,把最小值元素和左上角元素对调.按行.列格式输出重排前.后的情况.(提示:随机函数rand( )的函数值产生一个0~32767之间的随机数, rand( )和 srand(seed)定义在stdlib.h头文件中.先利用以下两条语句:scanf("%u", &seed); srand(seed); 来初始化rand( )的起始值.

c++问题-Visual C++6.0 程序设计 c++程序设计题

问题描述 Visual C++6.0 程序设计 c++程序设计题 某青年歌手大赛,10个评委,评分规则是去掉一个最高分,去掉一个最低分,剩下的取平均分,设计一个程序实现 解决方案 十个数排序,然后去掉第一个数和最后一个数就行了, 解决方案二: float getAdv(int scoreArry[]){ int total = scoreArry[0]; const int len = 10; int min = scoreArry[0]; int max = scoreArry[0]; for

c语言程序题-C语言程序设计题,函数,二维数组

问题描述 C语言程序设计题,函数,二维数组 某班期末考试科目为数学,英语,物理,有最多不超过30人参加考试,编写程序实现成绩排序和成绩查询 要求①用函数编程实现计算每个学生的总分和平均分 ②用函数编程实现按总分成绩由高到低排出成绩名次 ③用函数编程打印出名次表,表格内包括学生编号,各科分数,总分和平均分 解决方案 你不会自己写???逗我?? 解决方案二: 好好写作业.........不要偷懒 解决方案三: 自己写吧,小伙子!!! 解决方案四: 建议楼主自己写吧,写好了碰到问题再发上来 解决方案五

编程-ACM程序设计题,看不懂,请教一下各位

问题描述 ACM程序设计题,看不懂,请教一下各位 Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text p. Her job is relatively simple -- just to find the first occurence of sensitive word w and remove it. frog repeats over and over agai

乌托邦式接口和实现分离技术

<Imperfect C++>中展示了一种叫"螺栓"的技术,然而,这本书中的讨论并不足够深入.当然,我也相信Matthew是故意的,从而让我们这些"三道贩子"(Matthew自称是二道贩子)也能够获得一点点成就感. 考虑这样一个接口设计: struct IRefCount;struct IReader : public IRefCount; 在Reader中实现接口: <!--[if !supportEmptyParas]--> class

弱弱地问问:C#的类如何实现接口与实现分离呀?

问题描述 就像C++那样?俺是初学者,看到现在好像都是在定义一个类的时候提供它的实现(除非是虚类),好像没有在一个文件定义一个类的各个方法的声明.在另一个方法中实现各个方法的例子.如果是这样的话,类的实现都让大家看到了,还怎么实现informationhiding呀? 解决方案 解决方案二:.net中编程的"接口",叫做interface.而不是class.你肯定是只看到后者了.解决方案三:除了interface,还有abstractclass,等等..net的dll.exe本身就包含

2011蓝桥杯【初赛试题】程序设计题三

一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下: 1.首先按行填入密钥串. 2.紧接其后,按字母序按行填入不在密钥串中的字母. 3.由于方阵中只有25个位置,最后剩下的那个字母则不需变换. 如果密钥为youandme,则该方阵如下: y o u a n d m e b c f g h i j k l p q r s t v w x 在加密一对字母时,如am,在方阵中找到

2011 蓝桥杯【初赛试题】 程序设计题二

公司发了某商店的购物券1000元,限定只能购买店中的m种商品.每种商品的价格分别为m1,m2,-,要求程序列出所有的正好能消费完该购物券的不同购物方法. 程序输入: 第一行是一个整数m,代表可购买的商品的种类数. 接下来是m个整数,每个1行,分别代表这m种商品的单价. 程序输出: 第一行是一个整数,表示共有多少种方案 第二行开始,每种方案占1行,表示对每种商品购买的数量,中间用空格分隔. 例如: 输入: 2 200 300 则应输出: 2 2 2 5 0 输入: 2 500 800 则应输出: