【Java】Java学习笔记之一 ----面向对象(Object-Oriented)
2017-07-17 17:53
267 查看
为什么要用面向对象技术?
面向对象方法是一种系统化软件开发方法,而采用系统化的开发方法开发软件系统才可获得好的系统。一个好的系统应具有以下特性:对于使用者:易学易用、界面友好、正确使用时能快速给出正确结果、效率高、安全可靠;
对于开发者:易于修改和扩充、易于理解、易于测试和重用、易于与其他系统兼容和管理;
面向对象技术的名词概念:
对象
对象是基本的运行时的实体。世间万物皆对象,如可见的:人、车、键盘等,如不可见的:可以抽象为概念的一个抽象概念。对象由对象名、属性(用于描述对象的数据)和行为(即方法,用于描述对象能够做什么事情)组成。
如电视机为对象,由颜色、音量、频道等属性,有切换频道、增大音量等行为。
类
一个类定义了一组相似的对象,类的属性和方法统称为类成员。该类所包含的方法和数据为这组对象的共同行为和属性。类是对象的原型,里面没有具体的数据;对象是类的具体化,是类的实例。对类进行实例化(对类的属性进行赋值)则可以的得到具体的对象JAVA语言以对象为中心,JAVA程序由一个一个的类组成。
封装:
封装指隐藏对象的属性(一般使用访问控制符private),限制了外部程序直接访问对象内容信息,只能通过该类提供的方法实现对内部信息的访问和操作。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
实现良好的封装需要做到:
- 不允许外部直接访问对象的成员变量和实现细节
- 通过方法控制对隐藏内容的安全访问和操作
继承
是类之间的一种关系,是父类和子类之间共享数据和方法的机制。在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,并加入若干新的内容。“一个已经存在的类”即父类,在该类基础上加入新内容则成为子类。
一个子类只从一个父类继承,称为“单重继承”;一个子类从多个父类继承,称为“多重继承”。在JAVA中只允许单重继承。
子类可以直接继承父类的方法(通过super关键字调用),也可重写父类的方法;若子类重写父类方法,则调用时优先调用子类的方法。
多态
不同的对象对于同一个行为可以产生不同的结果。如“打印”这个行为,对于“彩色打印机”打印出来的效果为“彩色内容”,对于“黑白打印机”打印出来的效果为“黑白内容”。多态使具有不同内部结构的对象可以共享相同的外部接口。
消息
对象之间通过消息传递方式进行通信。一般情况下,对象接收它能识别的消息,拒绝它不能识别的消息。发送一条消息至少应给出一个对象的名字和要发给该对象的消息的名字。如:m1是类Manager的一个对象,当外界要把该对象所代表的经理的级别改变为2时,应以下面的方式向该对象发出一条消息:m1.ChangeLevel(2);
怎么理解面向对象编程?
面向对象,就是以一种对象的角度来编写程序、设计程序,在编程时把所有数据都通过对象的属性和方法进行表示和存储。面向对象=对象+分类+继承+通过消息的通信
面向对象的几大基本:
基本原则:高内聚、低耦合
对象内部是高内聚的:对象只负责一项特定的职能,所有与对象相关的内容都封装到对象内部(以属性和方法的形式存在)对象对外是低耦合的:外部世界只可以看到对象的一些属性,只可以看到对象做某些事情而不是全部事情。
基本特性:封装、继承和多态
面向对象分析
分析思路:1. 识别对象:确认系统关心的实质性对象。
2. 识别对象的属性和行为:确定每个对象的内部信息。
3. 组织对象:通过对象间的关系,将相关对象抽象成类。
4. 对象间的相互作用:确认对象之间在应用系统的关系,如一个对象是另一个对象的一部分。
面向对象的三层
面向对象的三层关系构成了系统的物理模型。数据访问层
数据访问层是对数据进行操作,具体为业务逻辑层或表示层提供数据服务。业务逻辑层
业务逻辑层是对具体问题进行操作,对数据业务进行处理。界面表示层
表示层负责接收用户的请求并返回数据,是向用户展现界面的。相关文章推荐
- Head First Object-Oriented Design and Analysis 学习笔记(八)
- Java学习笔记1------颠覆传统-面向对象的设计思想(序章)
- 多态Object类equals方法学习笔记ObjectDemo.java
- Java 面向对象的特征---学习笔记
- Java与Flex学习笔记(4)----Flex与Java通信之RemoteObject方式
- java学习笔记-------2011/3/12 面向对象(一)
- Java学习笔记1------面向对象的三个基本特征
- 黑马程序员学习笔记四——Java 面向对象 特点之 继承
- JAVA学习笔记——面向对象01
- Java学习笔记————面向对象(高级)
- JAVA学习笔记——面向对象03
- java语言面向对象笔记,在学习面向对象时应该理解掌握的原理-作者:逝秋
- Java基础学习笔记之三_面向对象
- 多态Object类toString方法学习笔记ObjectDemo.java
- Java 面向对象的特征---学习笔记
- Java-API学习笔记---Object
- Head First Object-Oriented Analysis and Design学习笔记(一)
- OAF学习笔记-JAVA Entity Object 之 Create data(深入EO系列)
- Head First Object-Oriented Design and Analysis 学习笔记(八)
- java学习笔记(面向对象)