【设计模式】入门知识整理

一、UML类图

类包含类名、属性、操作。

其中“-”表示private,“+”表示public,“ # ” 表示 protected;表示抽象类则类名用斜体表示;

类的操作:类的任意一个实例对象都可以使用的行为,是类的成员方法。

表示方法:     可见性 名称(参数列表) [ : 返回类型]  

画类图时参照以上

Eclipse中的UML:

继承关系:

接口关系:

关联关系:使一个类知道另一个类的属性和方法,关联可以是双向或单向的;一般使用成员变量实现,也可以使用方法形参(此时既可以表示关联,也可以依赖)

依赖关系:


//依赖关系的三种形式
class Car {   
    public static void run(){   
        System.out.println("汽车在奔跑");   
    }   
}   
     
class Driver {   
    //使用形参方式发生依赖关系   
    public void drive1(Car car){   
        car.run();   
    }   
    //使用局部变量发生依赖关系   
    public void drive2(){   
        Car car = new Car();   
        car.run();   
    }   
    //使用静态变量发生依赖关系   
    public void drive3(){   
        Car.run();   
    }   
}

聚合关系:强的关联关系,是整体和个体之间的关系。关联关系所涉及的两个类是同一层次,而聚合是一个代表整体,一个代表个体。

//聚合关系中作为成员变量的类一般使用set方法赋值


//java中一般使用成员变量形式实现
//也就是关联关系的一种
//语义:车是司机财产的一部分
class Driver {   
    //使用成员变量形式实现聚合关系   
    Car mycar;   
    public void drive(){   
        mycar.run();   
    }   
}

 

组合关系:比聚合关系强的关联关系。代表整体的对象负责保持部分对象和存活。“整体-部分”的关联关系

 

【实际上,笼统地说,四个关系都是关联关系,只能靠语境和语义分辨】

老师课上有讲个例子,书面区别组合关系和聚合关系

参考于:https://www.cnblogs.com/yangyongxin/p/10171346.html

 

二、UML时序图

它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

涉及7种元素:角色(Actor)、对象(Object)、生命线(LifeLine)、控制焦点(Activation)、消息(Message)、自关联消息、组合片段。

详细见:https://blog.youkuaiyun.com/m0_37805255/article/details/101021593?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158358980319195162547957%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158358980319195162547957&biz_id=0&utm_source=distribute.pc_search_result.none-task

三、软件设计基本原则

核心:高聚合,低耦合

详细关于原则解说和代码理解,见:https://blog.youkuaiyun.com/shuaigg001/article/details/100921372?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158364668719725211942934%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158364668719725211942934&biz_id=0&utm_source=distribute.pc_search_result.none-task

四、多态

实现方式:基于继承、基于接口

详细见:https://blog.youkuaiyun.com/chenssy/article/details/84489574?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

五、OOAD步骤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值