面向对象

面向对象将现实世界的所有事物都看作对象,根据这些事物的本质特点和相互关系,把他们抽象为一个个具体的类,和事物是构成世界的基本单元一样,类和对象是构成面向对象程序的基本构成单元。这样设计的好处是将软件系统设计得和客观世界更加相识,更符合人类的逻辑和思维。

每个类里面由成员变量和成员方法组成,成员变量对应的是现实世界中事物的属性,比如人的身高、年龄、体重等信息,成员方法对应现实世界对象的行为,比如人的吃饭、睡觉、跑步等行为。

面向对象的三大特征

面向对象的三个特征:封装、继承、多态

封装

封装是指将对象的实现细节隐藏起来,通过一些公用的方法来暴露该对象的功能。

继承

继承是面向对象实现软件复用的手段,对应现实世界的父子关系。当子类继承父类,子类作为一种特殊的父类,将直接获取到父类的属性和方法。

多态

多态是指子类对象可以直接赋值给父类的引用,但使用父类引用时,运行状态仍然是子类的行为特征。当有多个子类继承同一父类时,这时候使用父类引用,将产生不同的行为,具体行为得看赋值给父类变量的子类行为。

关于抽象

虽然抽象是面向对象程序设计的重要组成部分,但它不属于面向对象的三大特征,因为任何程序设计都是对现实世界的抽象,上升一个高度来看,人的思维方式本来就是抽象的。抽象是指忽略一个主题中与当前问题无关的一些属性,只考虑我们关心的内容。

类就是对具有相同属性、共同方法的对象的抽象,对象是类的实例。类是整个软件系统中最小的程序单元。类的封装性是指类将各种信息细节隐藏起来,对外通过公共的方法来暴露该类对外所提供的功能,从而提高类的内聚性、降低不同对象间的耦合性。

接口

与类对比来看,类是对某一类事物的抽象,而接口是对某一类行为的抽象。


   转载规则


《面向对象》 rookiegan 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Java中小知识点 Java中小知识点
java中“==”与equals()的区别在java中,存在“==”和equals这两个判断变量(或对象)是否相等的方法,“==”是逻辑运算符,equals()是Object的一个成语方法,也就是说java中的所有对象都可以用equals(
2018-07-15
下一篇 
Java的初步理解 Java的初步理解
Java简介Java是一种纯粹的面向对象的程序设计语言,Java程序必须以类的形式存在,类是java程序的最小程序单位,java程序中不允许可执行语句、方法、变量等单独存在,所有的程序必须放在某一个类里面,这个有别于C/C++中的全局变量、
2018-06-29 rookiegan
  目录