zoukankan      html  css  js  c++  java
  • C++常见面试题

    1.面向对象的三个基本元素,五个基本原则

     三个基本元素:封装、继承、多态   五大基本原则:单一职责原则(SRP) 、开发封闭原则(OCP)、依赖倒转原则(DIP)、里氏代换原则(LSP)、接口分离原则

     SRP:是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起来

        对一个类而言,应该仅有一个引起它变化的原因

     OCP:一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。比如:一个网络模块,原来只服务端功能,而现在要加入客户端功能,

     那么应当在不用修改服务端功能代      码的前提下,就能够增加客户端功能的实现代码,这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来

        软件实体应该是可以扩展的,但是不可修改

     DIP: 做项目时,发现业务逻辑的高层模块都是一样的,但客户希望使用不同的数据库或存储信息方式,这时就出现麻烦,高层模块和数据库绑定在一起,没办法复用。

        高层模块不应该依赖于底层模块。两个模块都应该依赖于抽象。

        抽象不应该依赖于细节。细节更应该依赖于抽象。

     LSP:  只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为。

        子类型必须能够替换掉它们的基类型

     ISP:  一个接口应该保证,实现该接口的实例对象可以只呈现为单一的角色;这样,当某个客户程序的要求发生变化,而迫使接口发生改变时,影响到其他客户程序的    可    能性最小

        多个专用接口优于一个单一的通用接口

  • 相关阅读:
    Java第二次作业
    JAVA学习计划
    学生选课系统
    抽奖
    Java第二次作业
    Java第六次作业修改版
    Java第六次作业
    JAVA第五次作业
    Java第四次作业
    JAVA第三次作业
  • 原文地址:https://www.cnblogs.com/daimingming/p/3306933.html
Copyright © 2011-2022 走看看