关注
抽象
o 忽略一个主题中与当前目标无关的东西,专注的注意与当前目标有关的方面.(就是把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来的一般叫做类或者接口).抽象并不打算了解全部问题,而是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一个数据抽象,而是过程抽象.
o 数据抽象 -->表示世界中一类事物的特征,就是对象的属性.比如鸟有翅膀,羽毛等(类的属性)
o 过程抽象 -->表示世界中一类事物的行为,就是对象的行为.比如鸟会飞,会叫(类的方法)
· 封装
o 封装就是把过程和数据包围起来,对数据的访问只能通过特定的界面.如私有变量,用set,get方法获取
· 继承
o 一种联结类的层次模型,并且允许和鼓励类的重用,提供一种明确表达共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),原始类称为新类的基类(父类).派生类可以从它的父类哪里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要.因此可以说,继承为了重用父类代码,同时为实现多态性作准备.
· 多态
o 多态是指允许不同类的对象对同一消息做出响应.多态性包括参数化多态性和包含多态性.多态性语言具有灵活/抽象/行为共享/代码共享的优势,很好的解决了应用程序函数同名问题.总的来说,方法的重写,重载与动态链接构成多态性.java引入多态的概念原因之一就是弥补类的单继承带来的功能不足.
单一职责原则(Single Responsibility Principle,SRP),就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当发生变化时,设计会遭受意想不到的破坏。
开放-封闭原则(The Open-Closed Principle,OCP)是说软件实体(类、模块、函数等)应该可以扩展,但是不可修改。这个原则其实是有两个特征,一个是说更改时封闭的(Closed for modification)。面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。
依赖倒置原则(Dependence Inversion Principle)就是要依赖于抽象,不要依赖于具体。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
通俗的说就是我们在客户端只依赖与强类型的类,比如说接口或者抽象类,不应该把具体实现接口或者抽象类的具体类放到客户端。
里氏代换原则(Liskov Substitution Principle LSP)是说子类型必须能够替换它们的父类型。简单的理解为一个软件实体如果使用的是一个父类,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别。也就是说,软件里面,把父类都替换成它的子类,程序的行为没有变化。
在进行设计的时候,我们尽量从抽象类继承,而不是从具体类继承。如果从继承等级树来看,所有叶子节点应当是具体类,而所有的树枝节点应当是抽象类或者接口。当然这个只是一个一般性的指导原则,使用的时候还要具体情况具体分析。
迪米特法则(Law of Demeter)又叫最少知道原则(Least Knowledge Principle,LKP)。如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某个方法的话,可以通过第三者转发这个调用。迪米特法则的初衷在于降低类之间的耦合。
查看原帖
1 1
相关推荐

点赞 评论 收藏
分享
牛客热帖
更多
- 1... 🌟择难路,未有疑,四非学院本运气拉满,春招拿下大厂后端3.1W
- 2... 腾讯csig暑期一二三面7205
- 3... 史上最细SQL实战系列:sql笔试例题总结篇(建议收藏)6859
- 4... 腾讯云智后台开发暑期面经4420
- 5... 其实主包早就找到工作了,但还是每天都刷3502
- 6... 作为实习生,我问薪无愧3086
- 7... 字节拒绝、百度毁约,7.1 腾讯 Offer 到手:25 届双非碎碎念(25届最晚Offer)2993
- 8... 字节实习week6:听leader吐槽当前的应届生候选人们2798
- 9... 没实习 == 秋招凉?2728
- 10... 离开软件测试才发现外面没有雨2683
正在热议
更多
# 应届生,你找到工作了吗 #
1099次浏览 15人参与
# 双非应该如何逆袭? #
171415次浏览 2839人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
37217次浏览 271人参与
# 简历当中有水分算不算造假? #
1394次浏览 20人参与
# 春招进度记录 #
339274次浏览 3123人参与
# 实习生的蛐蛐区 #
745次浏览 19人参与
# 三一集团提前批进度交流 #
21864次浏览 138人参与
# 谈薪时HR压价该怎么应对 #
205350次浏览 3174人参与
# 毕业旅行去哪玩儿 #
7428次浏览 121人参与
# 非技术岗投递进展 #
144086次浏览 1264人参与
# 百度工作体验 #
228668次浏览 2002人参与
# 材料进Fab厂真的劝退吗? #
42880次浏览 184人参与
# 机械人与华为的爱恨情仇 #
118288次浏览 951人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
115730次浏览 1133人参与
# 百度秋招提前批进度 #
104755次浏览 1119人参与
# 双非有机会进大厂吗 #
431977次浏览 4285人参与
# 上班到公司第一件事做什么? #
59752次浏览 513人参与
# 秋招盘点:机械人值得去的企业 #
71623次浏览 670人参与
# 平台or薪资 硬件uu更看重哪个 #
128353次浏览 595人参与
# 工作中,努力重要还是选择重要? #
139140次浏览 1696人参与
# 发工资后,你做的第一件事是什么 #
69080次浏览 232人参与