美文网首页
设计模式(1)——面向对象

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

作者: zzyo96 | 来源:发表于2020-09-08 15:22 被阅读0次

    一、面向对象

    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

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

    相关文章

      网友评论

          本文标题:设计模式(1)——面向对象

          本文链接:https://www.haomeiwen.com/subject/ugvzsktx.html