`

OOP三大特性及几大设计原则

oop 
阅读更多

 

封装:

1.隐藏实现细节;
2.恰当地公开接口;
3.将接口和实现分开,增强可维护性;(实现细节改变时,使用该类的客户端程序不需要改变)


继承

1.描述联结类的层次模型;
2.通过抽象,表达共性,实现类的重用;
3.通过子类增加方法和属性以及重写方法,表达差异性;


多态

1.屏蔽子类的差异性,针对共性/接口编程;(向上转型)
2.增强可扩展性;

 


相关设计原则(设计模式一般遵守的原则):
开闭原则(Open-Closed Principle, OCP):软件实体应该对扩展开放,对修改(对已有软件模块、特别是最重要抽象层模块的的更改)关闭。

 

迪米特法则(对于封装)(Law of Demeter LoD)又叫做最少知识原则(Least Knowledge Principle,LKP):对象间尽量最少了解,彻底将API接口和具体实现相分离,模块间仅仅通过API进行通信。

 

里氏代换原则(对于继承)(Liskov Substitution Principle,LSP):如果对于每一个类型为A的对象a,都有类型为B的对象b,使得A定义的所有程序P在所有对象a都替换成b时,程序P没有变化,那么B是A的子类型。

 

合成/聚合复用原则(对于继承)(Composite/Aggregate Reuse Principle,CARP):尽量使用合成/聚合,尽量不要使用继承。


依赖倒转原则(涉及多态)(Dependence Inversion Principle):抽象不应依赖于细节,细节应依赖于抽象;针对接口而非实现编程。

 

三大特性介绍:

http://www.cnblogs.com/hnrainll/archive/2012/09/18/2690811.html

简单介绍:

http://kakajw.iteye.com/blog/1637179

介绍几大原则:

http://blog.csdn.net/anders_zhuo/article/details/8949566

分享到:
评论

相关推荐

    oop(面向对象程序设计)考试题

    这份"浙江大学OOP(面向对象程序设计)历年考题(英文版)"包含了历年的考试题目及答案,是学习和备考的重要资源。 首先,我们要了解OOP的基石——类与对象。类是对象的模板,定义了一组属性(数据成员)和方法...

    oop实践

    在实际的软件开发中,OOP是解决复杂问题的有效工具,通过封装、继承和多态等核心原则,可以构建出易于理解和管理的代码结构。 **封装** 是OOP的基础,它将数据和操作数据的方法捆绑在一起,形成一个独立的实体——...

    新闻快客(纯OOP编写)

    总的来说,【新闻快客】是一个理想的案例,可以帮助学习者掌握C#语言的OOP特性,以及如何运用这些特性来构建实用的软件系统。通过对这款软件的学习,学员不仅能深化理论知识,还能积累实际的编程经验,为未来的职业...

    编程范式与OOP思想

    OOP强调了封装、继承和多态这三个主要特性。 封装是指将数据和操作数据的方法捆绑在一起,形成一个独立的单元。通过封装,可以隐藏对象的内部实现细节,对外只暴露接口,保证了对象状态的稳定性和安全性。封装不仅...

    OOP.zip_oop

    在Java语言中,OOP是其核心特性,提供了强大的抽象、封装、继承和多态性功能,使得代码更易于维护和扩展。 在Java中的OOP,首先我们要理解的是类(Class)和对象(Object)。类是创建对象的模板或蓝图,它定义了...

    软件工程-OOP方法学.zip

    设计原则如单一职责原则、开放封闭原则、里氏替换原则和依赖倒置原则等指导着良好的OOP设计。 在软件工程中,OOP方法学的应用包括需求分析、系统设计、编码和测试等多个阶段。在需求分析阶段,对象和类可以作为业务...

    c语言实现面向对象OOP

    在C语言中实现OOP,通常包括封装、继承和多态这三大特性。 1. 封装:封装是将数据和操作这些数据的方法绑定在一起,形成一个独立的单元,即对象。在C语言中,可以借助结构体来封装数据,通过函数指针或者宏定义实现...

    OOP大作业Adventure

    【标题】"OOP大作业Adventure"是一个基于面向对象编程(OOP)的项目,它使用C++语言实现。这个项目的核心目标是设计一个游戏,玩家需要在城堡中探险,最终救出被困的公主。 【描述】"探索城堡拯救公主"是这个OOP...

    S2上机3用oop实现结构

    本主题是"Accp S2在.net框架下开发三层结构数据库应用系统"的一部分,特别提到了"S2上机3用oop实现结构",这意味着我们将探讨如何在.NET框架中利用OOP原则来构建一个具有三层架构的数据库应用。 首先,我们需要理解...

    OOP的PPT 面向对象的代码

    面向对象编程(Object-Oriented Programming,简称OOP)是一种流行的编程范式,它基于“对象”的概念,通过封装、继承和多态等核心特性,实现了高效、可维护的代码组织方式。本PPT深入探讨了OOP的核心原理及其在实际...

    oop.rar_C# OOP

    《C# OOP在音像店管理中的应用》 C#(C Sharp)是一种由微软公司开发的面向对象的编程语言,广泛应用于Windows平台的应用程序开发。...通过这个项目,开发者可以深入理解和掌握C#的OOP特性,提升自己的编程能力。

    oop.rar_oop币

    在IT行业中,面向对象编程(Object-Oriented Programming,简称OOP)是一种广泛使用的编程范式,它将现实世界中的实体抽象为类,通过类的实例来表示具体对象,以此来设计和实现复杂的软件系统。"oop.rar_oop币"这个...

    JAVAOOP六到十章课后上机答案

    Java面向对象编程(Java OOP)是Java编程的核心概念,它基于类和对象,强调封装、继承和多态性这三大特性。本压缩包包含了Java OOP六到十章课后上机作业的答案,旨在帮助学习者巩固和深化对这些章节的理解。 第六章...

    JAVA OOP 第三章作业

    在本主题中,我们将深入探讨Java面向对象编程(OOP)的关键概念,这些概念在"JAVA OOP 第三章作业"中可能涉及。面向对象编程是Java语言的核心特性,它基于类、对象、封装、继承和多态等原则。下面我们将逐一解析这些...

    oop.rar_oop_面向对象_面向对象程序设计

    面向对象程序设计(Object-Oriented Programming,OOP)是一种编程范式,旨在提供一种更加模块化、可重用和易于维护的代码编写方式。它基于“对象”的概念,对象是现实世界问题的抽象,包含了数据(属性)和操作这些...

    UML类图及、7大设计原则、23种设计模式

    设计模式不仅提供了交流的共同语言,还通过遵循经典的设计原则,如单一职责、开闭原则、里氏替换、依赖倒置、接口隔离、合成复用和迪米特法则,帮助开发人员在保持灵活性的同时减少错误和提高代码质量。

    JavaOOP案例 BBS论坛

    在本Java OOP案例——BBS论坛中,我们将探讨如何使用面向对象编程原则来构建一个基本的在线讨论平台。这个小案例将涵盖类的设计、继承、接口的使用以及多态性等核心概念,这些都是Java编程中的重要基石。 首先,...

    工业自动化 TwinCAT3 OOP编程进阶例程

    CODESYS是一种符合IEC 61131-3标准的编程系统,它也支持OOP特性。尽管TwinCAT3有自己的编程环境,但它们都遵循相同的标准,因此许多OOP的概念和实践在两者之间是通用的。 本教程的压缩包文件"TC3_PlcSample_...

    java oop

    1. **封装**:封装是面向对象的三大特性之一,它隐藏了对象内部的实现细节,只对外提供公共接口进行交互。在Java中,我们通过访问修饰符(如`public`, `private`, `protected`)来控制类成员的可见性,实现数据的...

Global site tag (gtag.js) - Google Analytics