迪米特法则面向对象 基本特征

迪米特法则  时间:2021-07-09  阅读:()

面向对象 基本特征

面向对象4大基本特征:抽象、封装、继承、多态。

1. 抽象。

将一些事物的共性抽离出来归为一个类。

如对于动物,具有生命体征、活动能力等区别于其它事物的共同特征 2. 封装。

有选择地隐藏和暴露数据和方法。

比如有U盘这个类,我希望隐藏内部组成和实现,只暴露USB接口以供使用 3. 继承。

子类可以直接使用父类的部分数据和方法,可以有选择的扩展。

比如鸟是动物,但鸟扩展了飞行的能力。

4. 多态。

同一类的对象调用相同方法可以表现出不同的行为。

比如动物实现了say()方法,猴子、马等动物重写了say()方法来表现不同的交流语言。

扩展资料: 7大设计原则: 1. 单一职责原则。

一个类应该仅有一个引起它变化的原因 。

如果一个类承担的职责过多,那么这些职责就会相互依赖,一个职责的变化可能会影响另一个职责的履行。

2. 开放封闭原则。

对扩展开放,对更改封闭。

为一个软件系统增加新功能时,只需要从原来的系统派生出一些新类就可以,不需要修改原来的任何一行代码。

3. 里氏替换原则。

子类必须能够替换任何地方的父类 。

4. 合成/聚合原则。

尽量使用合成/聚合而不使用类继承。

5. 迪米特法则(最少知道原则)。

一个对象应当对其他对象有尽可能少的了解。

6. 让高层模块不直接依赖低层模块。

若高层模块A直接依赖低层模块B,假如要将A改为依赖C,则必须修改A的代码。

而将A修改为依赖接口I,更换底层模块时只需实现接口I。

7. 接口隔离原则。

一个接口只应该描述一种能力。

参考资料:百度百科-面向对象

Hostio€5/月KVM-2GB/25GB/5TB/荷兰机房

Hostio是一家成立于2006年的国外主机商,提供基于KVM架构的VPS主机,AMD EPYC CPU,NVMe硬盘,1-10Gbps带宽,最低月付5欧元起。商家采用自己的网络AS208258,宿主机采用2 x AMD Epyc 7452 32C/64T 2.3Ghz CPU,16*32GB内存,4个Samsung PM983 NVMe SSD,提供IPv4+IPv6。下面列出几款主机配置信息。...

阿里云金秋上云季,云服务器秒杀2C2G5M年付60元起

阿里云(aliyun)在这个月又推出了一个金秋上云季活动,到9月30日前,每天两场秒杀活动,包括轻量应用服务器、云服务器、云数据库、短信包、存储包、CDN流量包等等产品,其中Aliyun轻量云服务器最低60元/年起,还可以99元续费3次!活动针对新用户和没有购买过他们的产品的老用户均可参与,每人限购1件。关于阿里云不用多说了,国内首屈一指的云服务器商家,无论建站还是学习都是相当靠谱的。活动地址:h...

Raksmart VPS主机如何设置取消自动续费

今天有看到Raksmart账户中有一台VPS主机即将到期,这台机器之前是用来测试评测使用的。这里有不打算续费,这不面对万一导致被自动续费忘记,所以我还是取消自动续费设置。如果我们也有类似的问题,这里就演示截图设置Raksmart取消自动续费。这里我们可以看到上图,在对应VPS主机的【其余操作】中可以看到默认已经是不自动续费,所以我们也不要担心被自动续费的。当然,如果有被自动续费,我们确实不想续费的...

迪米特法则为你推荐
row函数Excel row函数如何带入其他函数内?溢出隐藏overflow:hidden用在哪里?webcrackwebcrack4.0拓扑关系什么是空间数据的拓扑关系layout_gravityandroid 布局中 为什么能够通过android:layout_above 、android:layout_alignTop 、等 还要在之前加入tvosairpods什么意思 airpods连接方式是怎样的jdk6Java 中的 JDK 6 Update 6 到哪下载啊 ? 有一点急waves插件MuseScore vst插件怎么安装欢迎页面如何设置电脑的欢迎界面?ruby语言Ruby是一种什么样的语言,主要用来做什么,现在有一家公司让我从java转ruby,我很犹豫?
怎样注册域名 阿里云搜索 免费smtp服务器 河南服务器 免费cdn 怎么建立邮箱 789 永久免费空间 网页加速 中国联通宽带测试 国外免费云空间 杭州电信 googlevoice 贵州电信 zcloud ncp是什么 中国域名根服务器 qq登陆空间 web服务器硬件配置 web服务器配置 更多