现在的位置: 首页 > 综合 > 正文

01、设计模式之简介及面向对象的几个基本原则

2013年08月29日 ⁄ 综合 ⁄ 共 1227字 ⁄ 字号 评论关闭

1、设计模式:从许多优秀的软件系统中总结出成功的可复用的设计方案。

2、抽象类作为上转型对象:抽象类不能用new运算符创建对象,但其非abstract子类必须重写全部的abstract方法,这样一来,就可以让抽象类声明的对象成为其子类对象的上转型对象,并且调用子类重写的方法。
如A是抽象类,有抽象方法add(),B继承A并且实现里面的抽象方法,则A a=new B();a.add();可以让A类声明的对象a成为对象b的上转型对象,即让a存放b的引用。上转型对象能调用子类重写的add()方法。

3、接口回调:接口回调是指可以可以把实现接口的类的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口中的方法,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法。
如:有接口Com,接口中有一个抽象方法sub(),ComImp是实现该接口的类,则可以:Com com=new ComImp();//com对象存放ComImp类对象的引用,int m=com.sub();//com回调ComImp类实现的接口方法

4、开闭原则:让设计对扩展开放,对修改关闭。如抽象类关闭,对实现该抽象类的子类开放。

5、方法复用的两种最常见的技术:类继承和对象组合

6、继承复用优点:子类可重写父类方法,易修改或扩展那些被复用的方法

7、继承复用缺点:子类从父类继承的方法在编译的时候确定下来,无法在运行的时候修改。
         子类和父类是强耦合关系,即父类方法的行为改变的时候必然导致子类变化
         父类内部的细节对于子类而言是可见的

8、组合:一个类可以把对象作为自己的成员变量,如果用这样的类来创建对象,则该对象中会有其他对象,即该对象将其他对象作为自己的组成部分。

9、如果一个对象a组合了对象b,那么对象a就可以委托对象b调用其方法,即对象a以组合的方式复用对象b的方法。

10、组合对象复用优点:
    当前对象只能委托所包含的的对象调用其方法,这样一来,当前对象所包含的对象方法的细节对当前对象是不可见的
    对象和所包含对象是弱耦合关系,因为修改当前对象所包含的对象类的代码,无需修改当前对象类的代码
    当前对象可以在运行时动态指定所包含的的对象

11、组合对象复用的缺点:导致系统中的对象过多;为了能组合多个对象必须仔细对接口进行定义

12、UML:
类的表示:该长方形从上到下分为三层,
第一层名字层(类名字是常规字体则是具体类,若是斜体字型则该类为抽象类)
第二层变量层:也叫属性层,格式:变量名:类型,变量名前面加 + :变量的访问权限是public,加#:protected。-:private。前面不加则表示变量的访问是友好的。
第三层:方法层:列出类的方法及返回类型,格式:方法名(参数列表):类型前面修饰同第二层的意思+#-不加,还有一个,如果方法是静态方法,则需要在方法的名字下面加上下划线

还有泛化、关联、依赖、实现、注释的表示方式。

抱歉!评论已关闭.