`

面向对象编程

    博客分类:
  • java
阅读更多

.面向对象编程需要注意的三点:
1>组成优于继承
2>对接口编成。父类的引用指向子类的实例,这样可以通过父类的调用得到子类的最新方法
3>适应变化,需要具有灵活性

2.面向对象的三大特性:
1>封装
封装的对象:数据(私有化,保证它的隐藏性)、特有的构造方法、业务方法、辅助方法(供内部使用的辅助方法,可以单提出为辅助类)
需要保证的特性:稳定性(接口稳定,接口中方法的参数可以使用Object)
2>继承(原有代码的扩充和变更)
特点:
●子类具有父类的特征
●父类的扩充
与组成的区别:
●继承得到更多父类成员,可以直接使用,属于紧耦合
●组成则需要先实例化,但提供更好的动态处理,属于松耦合。实例化时可以存在多种实例化方式,如下代码:
private Product product;
public UseTest(FoodProduct food){
 this.product=food;
}
3>多态

3.类的使用:(高内聚,低耦合,功能单一)
具体类:尽量避免做父类
抽象类(父类):有缺省实现时使用,且缺省实现用final来避免再实现
接口(父类):充分利用它子类多态性的特点,让实现灵活可变

4.类之间的关系:
层次关系:继承(父子关系)
成员关系:关联关系
                    聚合关系(整体和部分) |
                    组成关系                               |二者区别:整体和部分是否同生同灭
参数关系:以参数形式进入某一方法

5.面向对象编程的原理
1>OCP开放封闭原理(Open-Closed Principle)
  开放便于扩展,封闭利于修改
2>LSP替代原理(Liskov Substitute Principle)
  子类可以替代其父类
3>DIP依赖倒置原理(Dependency Inversion Principle)
  依赖于抽象类,不依赖于具体类
4>ISP接口分离原理(Interface Segregation Principle)
  多个专用接口优于一个单一的通用接口
5>CRP组成重用原理(Composite Reuse Principle)
  对象组成部分的多态优于继承
6>PLK最少知识原理(Principle of Least Knowledge)
  在类的方法中,只调用本身、参数对象、局部对象以及类的实例对象的操作。尽可能用最少的对象获取所需方法 



 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1128658

 

0
0
分享到:
评论

相关推荐

    JAVA面向对象程序设计(期末考试试题及答案)

    JAVA面向对象程序设计是 Java 编程语言的核心 contents,涵盖了面向对象编程的基本概念、语法规则、编程技术和实际应用等方面的知识。本文总结了 JAVA面向对象程序设计的知识点,涵盖了 Java 语言的基本语法、面向...

    Java面向对象程序设计

    1. **面向对象编程基础**:面向对象编程(OOP)是一种编程范式,它基于“对象”的概念,强调数据和操作数据的方法结合在一起。Java作为一款纯面向对象的语言,其一切皆为对象,包括基本类型都有对应的包装类。 2. *...

    C++面向对象程序设计课程大作业-通讯录管理系统

    本项目是基于C++的面向对象程序设计实现,旨在教授学生如何运用面向对象编程思想来构建实际的应用程序。** **一、面向对象编程基础** 面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,其核心思想...

    SSD3 面向对象程序设计 pdf

    SSD3教材内容覆盖了面向对象编程的多个方面,包括但不限于继承、多态、抽象类和接口的实现。 在学习过程中,学生不仅需要通过Java语言进行编程实践,还要学习设计健壮、可扩展的类。课程要求学生能够使用UML(统一...

    c++面向对象程序设计课后习题答案

    C++是一种强大的、通用的编程语言,以其支持面向对象编程(OOP)而闻名。面向对象编程是一种编程范式,它以对象为中心,强调数据和操作数据的方法的封装。本资料集是关于“C++面向对象程序设计”的课后习题答案,...

    面向对象程序设计实训报告.docx

    这个项目旨在帮助学生掌握Java语言中的面向对象编程概念,特别是类的设计、属性和方法的运用,以及数组和集合(如ArrayList)的使用。 在“随机点名器”项目中,主要功能要求包括: 1. 存储全班同学的姓名。 2. ...

    面向对象程序设计—C++语言描述PDF

    《面向对象程序设计:C++语言描述(原书第2版)》内容丰富,结构合理,写作风格严谨,深刻地论述了c++语言的面向对象编程的各种技术,主要内容包括:面向对象编程方法、c++语言的各种特性、stl、c++输入/输出流、mfc等。...

    java面向对象编程源码

    其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。同时,本书还贯穿了Sun公司的SCJP(Sun Cer......

    java面向对象程序设计第4章源代码

    首先,类是面向对象编程的基础。类定义了一组属性和行为,这些属性描述了类的特征,而行为则表示类可以执行的操作。在Java中,我们使用关键字"class"来声明一个类,例如: ```java public class MyClass { // 属性...

    java面向对象编程pdf

    面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将程序设计看作是对象的交互,对象之间的关系和行为。 一、对象和类 在Java中,对象是指具有某些特征和行为的实体,例如人、学生、大象、冰箱...

    Python实验一 面向对象程序设计实验.doc

    本实验旨在让学生深入理解和实践面向对象编程的基本原理和技巧。 首先,实验要求学生掌握类的定义。在 Python 中,类是创建对象的蓝图,它包含属性(成员变量)和行为(成员函数)。例如,定义了一个名为 `Vehicle`...

    C#面向对象编程期末参考题

    【标题】"C#面向对象编程期末参考题"揭示了本次讨论的核心——C#编程语言中的面向对象编程(Object-Oriented Programming, OOP)概念,这是软件开发中的一种重要方法论。C#是一种现代、类型安全且面向对象的语言,...

    matlab面向对象编程.pdf

    面向对象编程在设计、测试和维护大型应用程序方面尤其有用。通过封装,可以隐藏不必要的信息,从而简化类的使用。继承促进了代码重用,并提供了一种自然的方式来模拟现实世界的层次结构。而多态性允许在软件中添加新...

    C++面向对象程序设计 经典例题 附练习题

    C++是一种强大的、通用的编程语言,以其支持面向对象编程(OOP)而闻名。面向对象编程是一种设计和实现软件的方式,它强调将现实世界的问题和解决方案映射到计算机程序中的对象。本资料包“C++面向对象程序设计 经典...

    C++面向对象程序设计教程——课件PPT

    C++是一种强大的编程语言,以其面向对象特性而闻名,它结合了过程化编程和面向对象编程的优势。在“C++面向对象程序设计教程——课件PPT”中,我们可以深入学习这一主题,由陈维兴和林小茶编著,清华大学出版社出版...

    c++面向对象编程实例大全

    《C++面向对象编程实例大全》是一本专为初级学习者设计的教程,旨在通过丰富的实例深入浅出地讲解C++的面向对象编程概念。面向对象编程(Object-Oriented Programming,简称OOP)是C++的核心特性,也是现代软件开发...

    面向对象程序设计教案

    1. **对象和类**:对象是面向对象编程的基本单元,它包含了数据(属性)和操作这些数据的方法(行为)。类是创建对象的模板或蓝图,定义了一组具有相同特征和行为的对象的通用描述。 2. **封装**:封装是面向对象的...

    Matlab面向对象编程

    Matlab面向对象编程是一种在MATLAB环境下通过面向对象的方法来组织和构造程序代码的技术。面向对象编程(OOP)的基本特征包括抽象、封装、继承和多态。以下是根据给定的文件信息,对这些知识点的详细解释: 1. 抽象:...

    c++面向对象程序设计语言重点难点复习题及答案-整理.pdf

    C++语言继承了C语言的优点,并加入了面向对象编程的概念,成为了一种功能强大且灵活的程序设计语言。 1.1 C++语言的特点 * 静态类型:C++语言是一种静态类型的语言,变量的数据类型在编译时确定。 * 编译型:C++...

Global site tag (gtag.js) - Google Analytics