设计模式(1)——面向对象

2020-09-08  本文已影响0人  zzyo96

一、面向对象

1.1面向对象三大特性:封装、继承、多态

People是父类,公共的,不仅仅服务于student
继承可将公共方法抽离出来,提高复用性,减少冗余

image.png image.png
针对属性的

public 完全开放
protected 对子类开放
private 对自己开放

特点:

减少耦合,不该外露的不外露
利于数据,接口的权限管理
ES6目前不支持, 一般认为_开头的属性是private

下面是用ts来演示。 其中name和age没有任何修饰符,这个意思是默认public

image.png image.png

不能通过生成的实例获取girlfriend 因为它是私有的属性, 也不能直接访问weight, 因为它只可以在子类中访问

image.png image.png

定义了一个接口,在子类中实现不同的功能
同一个接口,不同表现
JS应用极少
需要结合java等语言的接口, 重写,重载等功能

保持子类的开放性和灵活性
面向接口编程

代码

image.png image.png

1.2、面向对象应用举例

jQuery是一个class
$('p')是jquery的一个实例

image.png

1.3、为何使用面向对象?

程序执行:顺序,判断, 循环--结构化
面向对象—— 数据结构化
对于计算机, 结构化的才是最简单的
编程应该 简单&抽象

二、UML类图

全称:Unified Modeling Language 统一建模语言
画图工具:
规则:
image.png
下面是栗子:
image.png image.png image.png image.png

继承用空间头,引用用实心箭头

上一篇 下一篇

猜你喜欢

热点阅读