您的位置:首页 > 编程语言 > Java开发

小白Java笔记——理解面向对象(一)

2017-11-24 11:15 232 查看
前言:Java语言是纯粹面向对象的程序设计语言,主要表现为Java完全支持面向对象的三种基本特征:继承、封装和多态。完全以对象为中心,最小程序单位是类。

面向对象的方式实际上由OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)三个有机部分组成。其中统一采用UML(统一建模语言)描述和记录OOA和OOD的结果。

两种主流的开发方法:结构化开发方法(C、Basic、Pascal)和面向对象开发方法(如C++、Ruby、C#、Java等)。

(一)结构化程序设计

最小的程序单位是函数。

目前暂且不写,之后用到再进行补充。

(二)程序的三种基本结构

稍微提一下GOTO吧,在很久很久以前…..额,,很多编程语言都提供了GOTO语句,使用非常灵活,但随之而来的是因太随意导致软件的可读性和修改性极差 。因此Java语言是拒绝使用GOTO语言,但将GOTO作为保留字,留了点后路。

1996年,Bohm和Jacopini证明了:任何算法都可由顺序结构、选择结构、循环结构组成。

1.顺序结构

2.选择结构

分为单选择、双选择、多选择

3.循环结构

当型结构:“当条件为真时执行循环”;

直到型循坏:“直到条件为假时结束循环”。

可以看出呢,结构化程序设计任何结构都具有唯一入口和唯一出口,不会出现死循环。Java虽然是面向对象的,但Java方法则是一种结构化的程序流。

(三)面向对象程序设计简介

面向对象的基本思想是使用类、对象、继承、封装、消息等基本概念来进行程序设计。

其软件系统是由多个类组成,用类封装内部的状态数据:类定义=方法(行为)+状态数据。

对象是类的实例:类是对象的抽象(结合下面的抽象解释理解)。

(四)面向对象的基本特征

1.封装(encapsulation):将对象的实现细节隐藏,通过公用的方式暴露功能;

2.继承(inheritance):实现软件复用的功能,分为单继承和多继承(一个类允许有多个直接父类,Java不支持);

3.多态(polymorphism):同一类对象在执行同一个方法时,可能表现出多种行为特征。

抽象:重要部分,但不是面向对象的特征之一,因为所有的编程语言都需要抽象。抽象就是只注重考虑所关心的部分问题,不会考虑全部问题。
消息:是对象与对象之间的通信,即一个实例与另一个实例通信的机制。

与“基于对象”区别:基于对象没有继承的特征,当然也就没有了多态的特征。如js语言
同样的我们程序员分为“类库的创建者”和“类库的使用者”。


自己对面向对象的通俗理解:

比如家里养了两只猫,一只公猫,属于波斯猫,一只母猫,属于狸花猫。 那么这两只猫就是对象,不管两只多不一样都属于猫科类。

两只猫都有毛色,形态等,这就是类。

公猫呢,有一双蓝色眼睛,长相精致,行为温和,像君子;

母猫呢,有黄色的眼睛,毛稍短,好动好打架。

那么我们看到的是猫的整体特征,是好动还是温和,是蓝眼睛还是黄眼睛。至于是什么细胞,哪个成分导致这种差异我们不知道不需要了解,这就是封装。类呢就封装了猫的各种能力和特点。

如果两只猫看对眼了,在一块,生了一窝小猫崽,这些小猫崽身上都会有公母猫的一部分特性,这就是继承;当然这一窝小猫呢,性格啊,毛色啊,不是完全一样的,那么这就是多态。

初学的理解,之后不断深入,再不断修改描述。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息