美文网首页
面向对象的三大特性五大原则

面向对象的三大特性五大原则

作者: 从入门到暴毙 | 来源:发表于2019-03-19 21:28 被阅读0次

    1.三大特性

     1.1 封装

           所谓的封装就是将对象属性私有化,隐藏对象的属性以及实现细节,给外提供get和set方法,用于对私有化的属性进行读取和修改

     1.2 继承

          继承就是指通过将子类共用的方法抽象出来,写成一个基类,去让子类使用,实现代码的复用性,子类还可以重写父类的方法,实现代码的多态性

     1.3 多态

          多态必要的三个元素,继承,重写,重载,

          接口的实现,还有类的重载,方法的重写都是多态的表现,因为类的实现对象不同,所实现的执行的逻辑也不同

    2.SOLID 设计原则

    S-单一职责原则

        所谓的单一原则,就是一个类单一的去执行一个业务,比如订单类就做订单的操作,商品类就做商品的操作,

    O-开放封闭原则

        开放封闭原则就是说,对类的扩展开放,对类的修改封闭,

        以支付为例,一个系统可能有多种支付方式,如果将多种支付方式整合到一个类中,那么每一次新增一种支付方式都会需要修改原有的支付      类。就有可能导致原有的支付方式出现问题,所以这里就应该写一个支付的基类,然后微信,支付宝,工商,农业等支付方式都是其实现类,那么基类是不允许修改的这就是封闭原则,基类对应下有多个实现类,这就是开放原则

    L-里氏替换原则

         里式替换的意思就是子类实现父类,就可以用子类的实例来替换父类,还有就是子类不能覆盖父类的普通实现方法,

    I-接口隔离原则

          接口不应该依赖于过多不使用的方法

    还是用支付打一个比方:假设我有一个支付的接口里面有付款和退款的方法,而我的支付宝只要需要付款方法,微信只需要退款的方法,那么接口就应该拆分为更加仔细一点的接口,而不是强迫支付宝去实现它不需要的退款方法

    D-依赖倒置原则

    高层次的模块不应该直接依赖于低层次的模块,中间加一些抽象,

    可以用于将业务模块和底层模块进行解耦(例如底层逻辑经常变化,就可以通过依赖倒置的方式,就可以让底层模块发生变化,不会影响高层次模块)。

    相关文章

      网友评论

          本文标题:面向对象的三大特性五大原则

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