什么是面向对象
Java语言是一种面向对象的程序设计语言,而面向对象思想(OOP)是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发程序
这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为
面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想
它区别于面向过程思想(POP),强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现
面向过程与面向对象
面向过程(POP):以函数(方法)为最小单位,数据独立于函数之外,以过程,步骤为主,考虑怎么做
面向过程注重实现功能的步骤,面向过程也注重实现功能的因果关系
面向对象(OOP):以类/对象为最小单位,类包括:属性+方法,以对象(谁)为主,主要考虑的是谁来做,谁能做
面向对象仍然包含面向过程,只不过关注点变了,关注谁来做
面向对象三大特性
面向对象三大特性:封装性,继承性,多态性
封装性:套壳屏蔽细节,将属性和方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互,提高了安全性
继承性:面向对象思想中提出了继承的概念,专门用来进行共性抽取,实现代码复用
继承可以解决代码复用,当多个类存在相同的属性(成员变量)和成员方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法, 所有的子类不需要重新定义这些属性和方法
多态性:多态具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态,简单来说,同一件事情,发生在不同对象身上,就会产生不同的结果,重写和重载就体现了多态
什么是类
一类具有相同特性的事物的抽象描述,是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物
一般情况下来说,需求中的每一个名词(实体)都可以抽象出一个类,每一个动词都可以抽象出一个方法
具有相似内部状态和运动规律的实体的集合(或统称为抽象)。
具有相同属性和行为事物的统称,它是一类事物的集合
一般名词都可以看做是一个类,每一个实体都可以看作是一个类
类的属性:特征,一组数据,对应类中的成员变量
类的方法:行为,允许对进行操作的方法,对应类中的方法
什么是对象
是实际存在的该类事物的每个个体,也称之为实例
某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的,它是一类事物的具体化
对象是由类创建(实例化)出来的
java语言中,除了8个基本数据类型及其值以外,一切都是对象
类和对象的理解
类就相当于制造飞机时的图纸,用它来进行创建的飞机就相当于对象
类就是创建对象的模板
拥有相同(或者类似)属性和行为的对象都可以抽像出一个类
类的构成
类的名称:类名
类的属性:特征,一组数据,对应类中的成员变量
类的方法:行为,允许对进行操作的方法,对应类中的方法
类的五大成员
属性
方法
构造器
代码块
内部类