OOP那些事

开闭原则

对扩展开放,对修改封闭。扩展时应该达到最小程度对原有代码修改甚至不改动,以免需要重复测试原有代码。可以通过集成或者添加新的类来实现。

组合由于集成(Prefer composition over inheritance)

see this

我的原则(序号越靠前重要性越高)

1.既定时间内完成客户要求,有时是功能,又或者是性能优先,视情况而定;

2.项目的可维护性;

3.开发速度;

4.代码的架构;

时间: 2024-08-14 02:32:26

OOP那些事的相关文章

【C#】OOP之多态那点事

前言: 对菜鸟开发者的忠告:花一万个小时练习 Coding,不要浪费一万小时无谓地 Debugging(也就说看代码) 看上面的UML图,我们创建一个抽象的Instrument类,类中有一个抽象方法paly,然后所有的子类都继承这个类并实现paly方法.(若不懂继承,请参照另一篇:OOP之继承那点事) 我们来看一下类的实现: public abstract class Instrument { public abstract void Play(); } public class Guitor

【C#】OOP之继承那点事

前言: 继承这点事,说多不多,说少不少,这里只描述了一些我认为的基础篇,望各位大神指教.本节参照了C#高级编程和Think in java对继承的描述,我个人认为OOP只是思想,故看明白一个就说通的,只是语法上的区别. 权限限制关键字 类继承 类继承基本写法 类继承的好处 继承中的Virtual(虚方法) 抽象类 类继承的坏处 执行循序 不可继承的类 接口继承 1.类继承 类继承基本写法: public class SuperClass : Object{} public class SubCl

玩转JavaScript OOP[2]——类的实现

概述 当我们在谈论面向对象编程时,我们在谈论什么?我们首先谈论的是一些概念:对象.类.封装.继承.多态.对象和类是面向对象的基础,封装.继承和多态是面向对象编程的三大特性. JavaScript提供了对象却缺乏类,它不能像C#一样能显式地定义一个类.但是JavaScript的函数功能非常灵活,其中之一就是构造函数,结合构造函数和原型对象可以实现"类". 对象和类的概念 对象 "对象"是面向对象编程中非常重要的一个概念,一个对象是一个"东西"(某个

js oop 封装

读者朋友们好,前面我们已经讲解了有关javascript的基础,从今天的内容开始,我们就要开始讲有关封装的内容了,这里,我们就一点一点地接触到OOP(面向对象编程)了,如果作为一门语言使用的程序员连OOP都不知道是什么,或者只听说过,自己没有去领悟,不能写出面向对象的代码,那么也没有学习程序的必要了,下面我先会给大家详细的介绍面向对象是什么,面向过程是什么,要想弄明白面向对象,首先我们就必须知道面向过程.在你已经弄明白了面向过程之后,我们也不能盲目地为了OOP而OOP,那样只会是做一些徒劳的事,

OOP思想

OOP思想 读者朋友们大家好,我们今天这一讲就接着前面的封装继续讲解,今天就是在前面内容上面的升级,OOP思想中的继承,我们就先来解释一下继承到底是什么意思,我们在什么地方会用到继续. 继承就是,后代继续祖先的一系列属性,行为.后代仍然算是与祖先同族,下面我们再用一些具体描述,来理解一下什么是继承 中国人,跟美国人都是 继承自 人类祖先,所以我们具有相同的属性行为,但是还有一定的差异,后面我们们将继续讲到的多态,所以通过上面的示例图,我们可以清晰的知道,人与人之前其实大同小异,所以我们再看看下面

OOP向AOP思想的延伸

最近几天一直在研究AOP.从什么是AOP都不了解的程度开始一点一点的摸索,上网查了很多关于AOP的资料,慢慢消化它. 什么是AOP? AOP是OOP的延续,它是一种面向切面编程,说白了它就是一种思想.说到OOP大家都很熟悉,既然说是OOP的延续,理解起来应该就容易多了. 面向切面编程:即允许通过分离业务逻辑与系统服务进行内聚性开发.对"高内聚,低耦合"的一种实现,实现了调用者与被调用者之间的解耦和. 对比: 首先:AOP和OOP是不同领域的两种思想.  面向对象OOP:对现实世界的抽象

Delphi编程OOP思想【转】

原文:http://blog.sina.com.cn/s/blog_9c47a15201015rew.html 注:本文摘自http://blog.csdn.net/haiou327/article/details/5937171,转载请注明: 好东西大家分享 刚刚接触的Delphi的朋友,可能最感兴趣的就是它丰富.强大的VCL(可视化构件库).仅仅向窗体上扔几个构件,甚至不用动手写代码,就能很容易地做出一个有实用价值的程序,真是令人激动.但是,VCL只是Delphi的一小部分,Delphi的优

从一些简单代码实例彻底理解面向对象编程思想|OOP本质是什么?

从Rob Pike 的 Google+上的一个推看到了一篇叫<Understanding Object Oriented Programming>的文章,我先把这篇文章简述一下,然后再说说老牌黑客Rob Pike的评论. 先看这篇教程是怎么来讲述OOP的.它先给了下面这个问题,这个问题需要输出一段关于操作系统的文字:假设Unix很不错,Windows很差. 这个把下面这段代码描述成是Hacker Solution.(这帮人觉得下面这叫黑客?我估计这帮人真是没看过C语言的代码) 1 2 3 4

C++的那些事:面向对象

1 OOP概述 面向对象基于三个基本概念:数据抽象.继承和动态绑定.通过使用数据抽象,我们可以将类的接口与实现分离:使用继承,可以定义相似的类型并对其相似关系建模:使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象. 1.1 继承 继承是派生类与基类之间的关系,它们共享了一些公共的东西,而派生类特化了一些本质不同的东西.类与类之间的继承关系构成了继承层次.在C++中,基类必须指定希望派生类重定义哪些函数,定义为virtual的函数是基类期待派生类重新定义的,需要在派生