结构化程序的任何一个结构都具备惟一的入口和惟一的出口,而且程序不会出现死循环。编程
虽然Java是面向对象的,但Java的方法里则是一种结构化的程序流。spa
面向对象的基本思想:类、对象、继承、封装、消息……设计
采用面向对象方式开发的软件系统,其最小的程序单元是类,这些类能够生成系统中的多个对象。对象
面向对象的语言不只使用类来封装一类事物的内部状态数据,,还会提供操做这些状态数据的方法。blog
成员变量(状态数据)+方法(行为)=类定义继承
面向对象方法具备三个基本特征:封装、继承、多态ip
封装:将对象的实现细节隐藏起来,而后经过一些公用方法来暴露该对象的功能;开发
继承:面向对象实现软件复用的重要手段,当子类继承父类后,子类做为一种特殊的父类,将直接得到父类的属性和方法。部署
多态:多态指的是子类对象能够直接赋值给父类变量,但运行时依然表现出子类的行为特征,这意味着同一个类型的对象在执行同一个方法时,可能表现出多种行为特诊。模板
抽象也是面向对象的重要部分
因为多继承可能引发继承结构的混乱,并且会大大下降程序的可理解性,因此Java不支持多继承
“基于对象”≠“面向对象”
基于对象也使用了对象,可是没法利用现有的对象模板产生新的对象类型,继而产生新的对象。JavaScript语言就是基于对象的,它使用一些封装好的对象,调用对象的方法,设置对象的属性,可是他们没法让开发者派生新的类,开发者只能使用现有对象的方法和属性。
面向对象软件开发须要通过:OOA(目标系统分析,创建分析模型) /OOD(用面向对象的思想细化OOA的结构)/ OOP(编程)
uml是用来描述、记录OOA 和OOD结果的符号表示法。
最经常使用的UML图包括:用例图,类图,组件图,部署图,顺序图,活动图和状态机图等。
一切都是对象
在Java语言中,除八个基本数据类型值以外,一切都是对象,而对象就是面向对象程序设计的中心。
对象具备状态,一个对象用数据值来描述它的状态。
对象还具备操做,这些操做能够改变对象的状态,也称之为行为。
Java语言不容许直接访问对象,而是经过对对象的引用来操做对象。
类和对象
类是对一类事物的描述,是抽象的,概念上的定义。
对象是实际存在的该类事物的个体,所以也称为实例
对象的抽象化就是类,类的具体化就是对象。
Java语言使用class关键字定义类,定义类时可以使用成员变量来描述该类对象的数据,可以使用方法来描述该类对象的行为特征。
类间关系:
①通常→特殊关系(典型的继承关系,Java中使用extends关键字来表示这种继承关系,is a)
②总体→部分结构关系(组装结构,典型的组合关系,Java经过在一个类里保存另外一个对象的引用来实现这种组合关系,has a)