随笔27 面向对象的五大基本原则
面向对象的五大基本原则
- 单一职责原则(Single-Resposibility Principle):一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。
- 开放封闭原则(Open-Closed principle):软件实体应该是可扩展的,而不可修改的。也就是,对扩展开放,对修改封闭的。
- Liskov替换原则(Liskov-Substituion Principle):子类必须能够替换其基类。这一思想体现为对继承机制的约束规范,只有子类能够替换基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基础。
- 依赖倒置原则(Dependecy-Inversion Principle):依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。
- 接口隔离原则(Interface-Segregation Principle):使用多个小的专门的接口,而不要使用一个大的总接口
转载于:https://www.cnblogs.com/lyr612556/p/7828010.html
随笔27 面向对象的五大基本原则相关推荐
- 面向对象的五大基本原则(SOLID)
面向对象的五大基本原则(SOLID) 概述 SRP(Single responsibility principle): 单一职责原则 OCP: 开闭原则. 概述 出自<架构整洁之道>这本书 ...
- JAVA面向对象的五大基本原则
文章目录 原则一:单一职责原则 原则二:开放封闭原则 原则三:LisKov替换原则 原则四:依赖倒置原则 原则五:接口隔离原则 了解面向对象的思想时,之前仅仅了解了面向对象的三大特性,最近才发现原来面 ...
- 面向对象的五大基本原则
面向对象的三大特性:封装.继承.多态 面向对象的七(或五大原则,前五项)大基本原则:单一职责原则(SRP) .开放封闭原则(OCP) .里氏替换原则(LSP). 依赖倒置原则(DIP). 接口隔 ...
- 学习Java编程面向对象的五大基本原则
Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心.围绕着 Java 类和 Java 对象,有三大基本特性:封装是 Java 类的编写规范.继承是类与类之间联系的一种形式.而多态 ...
- 面向对象 三大特性 五大基本原则
2019独角兽企业重金招聘Python工程师标准>>> 以前一直认为程序中的类有使用到封装,继承,多态就是面向对象设计,其实不然 封装,继承,多态只是面向对象的三大特性,但是在设计程 ...
- 面向对象三大基本特征及五大基本原则介绍
目录 前言 一.面向过程和面向对象区别 二.面向对象的三大基本特征:封装.继承.多态 1.封装 2.继承 3.多态 三.面向对象的五大基本原则 1.单一职责原则(SRP) 2.开放封闭原则(OCP) ...
- 面向对象的五大原则与IOC
面向对象的五大基本原则 单一职责原则(SRP) 开放封闭原则(OCP) 里氏替换原则(LSP) 依赖倒置原则(DIP) 接口隔离原则(ISP) 单一职责原则(SRP) 一个类应该仅有一个引起它变化的原 ...
- 面向对象封装继承多态五大基本原则魔法方法反射
目录 面向对象 三大基本特征 五大基本原则 魔法方法 反射 面向对象 什么是面向对象 使用模板的思想,将世界万事万物使用对象来表示一个类型 面向对象和面向过程的区别: 面向对象的不就是使用程序处理事情 ...
- 面向对象的三大基本特性,五大基本原则。
三大特性是:封装,继承,多态 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏.封装是面向对象的特征之一,是对象和类概念的主要特性 ...
最新文章
- java中建立单链表_Java数据结构,单链表的建立
- PostgreSQL 10.1 手册_部分 II. SQL 语言_第 8 章 数据类型_8.6. 布尔类型
- 深入理解 Java内存模型
- Maven-atguigu
- HTML鼠标悬停图片置顶,jquery实现鼠标悬浮停止轮播特效
- Magento: 添加first name 和 last name到newsletter Add additional fields to your newsl
- 新冠隔离让你家Wifi变慢?全球网络大塞车AI缓拥堵,边缘计算或成杀手锏
- Codeforces Round #459 (Div. 2)题解
- .NET 源代码的安全性(源代码工具真正比拼) (論)
- 计算机网络网络层之层次路由
- py-R-FCN安装记录
- cups 2.4.1编译办法
- p2p - cdn传输技术杂谈
- 身份证前6位地区编码sql
- 儿童素描手绘创意设计字体 for mac
- 基本农田卫星地图查询_水经注万能地图下载器软件主界面功能说明
- 联想智能云教室安win7_用“联想智能云教室”部署系统完成后,操作卡顿?
- java-IO流-在文件中数据内容的插入问题
- Godot Engine:选择Skeleton节点时出现不停输出“object was deleted while awaiting a callback”并死机问题
- 我今天登陆竟然被 CSDN 管理员给封杀了。
热门文章
- python中msg是什么意思_python下载.msg文件的附件
- windows。forms.timer设置第一次不等待_适用于初学者的中线交易策略——金叉的三种设置条件...
- client中周期性边界_(整理)周期性边界条件.
- 小程序 const moment = require('moment')_开源小程序精选
- maven多模块项目部署到服务器,GitHub - baxias/foweb: 一个基于 Spring+SpringMVC+Mybatis 的Maven多模块项目。(实现前后端分离的服务器端)...
- nginx index.php 端口,请教下 nginx 配置域名反代到本地端口这里面应该怎么加。
- 普通RNN的缺陷—梯度消失和梯度爆炸
- Java集合 Collection
- oracle 本年1月1号 yy,ORACLE 日期函数
- 万年历c语言大作业实验,用C语言写的一个万年历