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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    Spring Boot实战二:集成Mybatis
    Spring Boot实战一:搭建Spring Boot开发环境
    Oracle 11g安装和PL/SQL连接完全解读(连接本地数据库)
    Spring事务详解
    RabbitMQ学习笔记六:RabbitMQ之消息确认
    RabbitMQ学习笔记五:RabbitMQ之优先级消息队列
    RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决)
    RabbitMQ学习笔记三:Java实现RabbitMQ之与Spring集成
    RabbitMQ学习笔记二:Java实现RabbitMQ
    Spark 读 Hive(不在一个 yarn 集群)
  • 原文地址:https://www.cnblogs.com/daimingming/p/3306933.html
Copyright © 2011-2022 走看看