面向对象设计时的若干考虑

小键233 小键233     2023-03-25     129

关键词:

在OOP 中,类之间的关系可以如下表示[1]:

当类是public 继承的时候,它们之间是is-a 关系.
当类是private 继承的时候,它们之间是is-implemented-in-terms-of 关系
当类是耦合关系时,它们之间是has-a 或者 is-implemented-in-terms-of 关系

[1]中还提到两个条款:

绝不重新定义继承而来的non-virtual 函数
避免遮掩继承而来的名称

[参考资料]
[1] Scott Meyers 著, 侯捷译. Effective C++ 中文版: 改善程序技术与设计思维的 55 个有效做法[M]. 电子工业出版社, 2011.
(条款32:确定你的public 继承塑模出is-a 关系;
条款33:避免遮掩继承而来的名称
条款36:绝不重新定义继承而来的non-virtual 函数
条款38:通过复合塑模出has-a 或“根据某物实现出”
条款39:明智而审慎地使用private 继承)

面向对象基础一

什么面向对象 1.面向对象是一种编程方法 2.面向对象是一种思维方式 3.面向对象不是一种编程语言   如何学习面向对象 1.掌握一门面向对象语言的语法 2.掌握面向对想的思维方式 3.熟悉面向对象设计原则 4.掌握面向对象... 查看详情

专题三面向对象(代码片段)

/*一、Java面向对象学习的三条主线:1.Java类及类的成员:属性、方法、构造器;代码块、内部类2.面向对象的三大特征:封装性、继承性、多态性、(抽象性)3.其它关键字:this、super、static、final、abstract、interface、package、import... 查看详情

3.4面向对象分析面向对象设计(初步)

一般原则  ?Anobject-orientedsystemiscomposedofobjectssendingmessagestootherobjects  ?Thequalityoftheoveralldesigndependsonwhichobjectisdoingwhat    ?比喻:“人尽其责、各有所长”  ?Thatis,thequalitydependsonhowweassignresponsibilitiestotheobjects  ?Pr... 查看详情

第十篇面向对象的程序设计

第十篇面向对象的程序设计 一面向对象的程序设计的由来见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html二什么是面向对象的程序设计及为什么要有它面向过程的程序设计的核心是过程(流水线式思维),过程即解决问... 查看详情

面向对象的程序设计

面向对象的程序设计由来详情请看:点击这里 什么是面向对象的程序设计和为什么要有他  面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好的一条流水线,考虑周全什么时候... 查看详情

08-面向对象----j

一面向对象的程序设计的由来请参考:http://www.cnblogs.com/linhaifeng/articles/6428835.html二什么是面向对象的程序设计及为什么要有它面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条... 查看详情

面向对象分析与设计面向对象设计包括哪些内容

一、总述面向对象分析的输入是用户的功能需求,输出是简单的、理性化的分析模型,此阶段的工作更多侧重于如何理解软件的功能需求;面向对象设计的输入是面向对象分析的结果,蔬菜水果最终的、细化后的设计模型,此阶... 查看详情

ch15面向对象程序设计

面向对象程序设计是基于三个基本概念的:数据抽象、继承和多态。第7章介绍了数据抽象的知识,简单来说,C++通过定义自己的数据类型来实现数据抽象。数据抽象是一种依赖于接口和实现分离的编程技术:类的设计者必须关... 查看详情

java面向对象编程-1

面向对象简介C语言是面向过程开发的代表C++或者Java是面向对象的编程语言所谓的面向过程指的是面对于一个问题的解决方案,更多的情况下是不会做出重用的设计思考的。而面向对象的主要设计形式是模块化设计并且可以进行... 查看详情

面向对象设计理念

一、设计类的方法1. 确定类的功能和职责。需先只考虑外部对象如何使用这个对象以及如何与其他类交互,识别出基本的接口(使用高层次的抽象思维设计)。2. 依据类的功能分析,确定出类的基本属性数据。3. 在接... 查看详情

面向对象编程

1.列出求解问题的5个基本步骤。答:①分析问题    ②设计问题    ③考虑方案中其他因素,然后精化方案    ④实施方案    ⑤测试方案并改正存在的问题2.为什么考虑采... 查看详情

面向对象-day07

一、类与对象1、面向对象的程序设计及存在的意义  面向过程:    面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理... 查看详情

初识面向对象(代码片段)

        面向对象VS函数式编程VS面向对象      面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考... 查看详情

day29(06/29)面向对象

一面向对象的程序设计的由来见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html回到顶部二什么是面向对象的程序设计及为什么要有它面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的... 查看详情

游戏设计模式——面向数据编程(新)(代码片段)

目录面向数据编程是什么?单指令流多数据流(SIMD)什么是SIMD为什么需要SIMD支持SIMD技术的指令集使用SIMD编程使用汇编内联使用指令集库使用ISPC语言并行循环避免Gather行为CPU缓存(CPUcache)什么是CPU缓存为什么需要CPU缓存CPU缓存... 查看详情

面向对象-初级

面向过程VS面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。优点是:极大的降低了写程序的复杂度,... 查看详情

结构化和面向对象之应用比较

---恢复内容开始---结构化和面向对象之应用比较  在无数程序设计人员的不断实践和理论改进中,软件工程程序设计中极其重要的指导性思路一直在发生着变革。在相对较长的时间里,不断有新的软件工程中的程序设计思路涌... 查看详情

面向对象设计原则

一、单一职责原则:全称:“Single-ResponsibilityPrinciple”说明:就一个类而言,应该只专注于做一件事和仅有一个引起它变化的原因。所谓职责,我们可以理解他为功能,就是设计的这个类功能应该只有一个,而不是两个或更多。... 查看详情