Java——理解面向对象
一:什么是面向对象编程?
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。
面向对象是由OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)三个部分组成。其中,OOA和OOD的结构需要使用一种方式来描述并记录,目前统一采用UML(统一建模语言)来描述并记录OOA、OOD的结果。
Java语言是纯粹的面向对象的程序设计结构,这主要表现在Java的三种基本特征:继承,封装和多态。
目前主流的开发方法是:结构化开发方法和面向对象开发方法。C、Basic、Pascal等都是结构化编程语言,C++、C#、Java、Ruby等都是面向对象的编程语言。
二:程序有哪三种基本结构?
顺序结构,选择结构,循环结构。
顺序结构:程序中的各操作是按照它们在源代码中的排列顺序依次执行的。选择结构:程序的处理需要根据某个特定的条件选择其中的一个分支执行。选择结构有单选择,双选择和多选择三种形式。循环结构:程序反复执行某个或某些操作,知道某个条件为假(或为真)时才停止循环。循环结构的基本形式有两种:当型循环和直到型循环。当型循环:先判断条件,当条件为真时执行循环体,并且在循环体结束时自动返回到循环入口处,再次判断循环条件,如果条件为假,则退出循环体到达流程出口处。先判断,后执行。直到型循环:从入口处直接执行循环,循环体结束时判断条件,如果条件为真,则返回入口处继续执行循环体,直到条件为假时退出循环体到达流程出口处,先执行后判断。
程序化设计中的任何结构都具有唯一的入口和唯一的出口,并且程序不会出现死循环。虽然Java是面向对象的,但Java的方法里是一种结构化顺序流。
三:面向对象的基本特征是什么?
采用面向对象方式开发的软件系统,最小的程序单元是类,这些类可以生成系统中的多个对象,而这些对象则直接映像成客观世界的各种事物。类代表了客观世界中具有某种特征的一类事物,这类事物往往有一些内部的状态数据,用类来封装一类事物的内部状态数据。成员变量(状态数据)+方法(行为)=类定义。
在面向过程的程序里,一切以函数为中心,函数最大。比如:骑(我,自行车);
在面向对象的程序里,一切以对象为中心,对象最大。比如:我.骑(自行车);
面向对象方法具有三个基本特征:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。封装指的是将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能;多态指的是子类对象可以直接赋给父类变量,但运行时依然变现出子类的行为特征,这意味着同一个类型的对象在执行同一个方法时,可能表现出多种行为特征。
面向对象还支持如下几个功能:
1、对象是面向对象方法中最基本的概念,它的基本特点有:标识唯一性、分类性、多态性、封装性、模块独立性好。
2、类是具有共同属性,共同方法的一类事物。类是对象的抽象;对象则是类的实例。而类是整个软件系统最小的程序单元,类的封装性将各种信息细节隐藏起来,并通过公用方法来暴露该类对外所提供的功能,从而提高子类的内聚性,降低了对象之间的耦合性。
3、对象间的这种相互合作需要一个机制协助进行,这样的机制称为“消息”。消息是一个实例与另一个实例之间相互通信的机制。
4、面向对象方法中,类之间共享属性和操作的机制称为继承。继承具有传递性。继承可分为单继承(一个继承只允许有一个直接父类,即类等级为树形结构)与多继承(一个类允许有多个直接父类)。
在Java语言中,除了8个基本数据类型之外,一切都是对象。
来源:oschina
链接:https://my.oschina.net/u/2622200/blog/651139