0


JAVA面向对象

面向过程(POP)与面向对象(OOP)

二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。


面向对象的三大特征:

封装(Encapsulation)

继承(Inheritance)

多态(Polymorphism)


面向对象的思想概述:

程字员从面向过程的执行者转化成了面向对象的指挥者

面向对象分析方法分析问题的思路和步骤:

➢根据问题需要,选择问题所针对的现实世界中的实体。

➢从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。

➢把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。

➢将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。


类(Class)和对象(Object)是面向对象的核心概念

➢类是对一类事物的描述,是抽象的、概念上的定义

➢对象是实际存在的该类事物的每个个体,因而也称为实例(instance)。

“万事万物皆对象”

可以理解为:类=抽象概念的人;对象=实实在在的某个人

面向对象程序设计的重点是类的设计

类的设计,其实就是类的成员的设计

提示:

类的访问机制:

➢在一个类中的访问机制:类中的方法可以直接访问类中的成员变量。(例外: static方法访问非static,编译不通过。)

➢在不同类中的访问机制:先创建要访问类的对象,再用对象访问类中定义的成员。

对象的产生:

匿名对象:

我们也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象。➢如: new Person().shout();

使用情况:

➢如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。

➢我们经常将匿名对象作为实参传递给一个方法调用。


类的成员之一:属性(field):

语法格式:

修饰符 数据类型 属性名=初始化值;

说明1:修饰符

常用的权限修饰符有: private、 缺省、protected、 public

其他修饰符: static、 final (暂不考虑)

说明2:数据类型

任何基本数据类型(如int、Boolean)或任何引用数据类型。

说明3:属性名

属于标识符,符合命名规则和规范即可。


变量


方法(method):

将功能封装为方法的目的是,可以实现代码重用,简化代码

方法的调用:

注意:

方法中只能调用方法或属性,不可以在方法内部定义方法。

方法的重载:

在同一个类中,允许存在一个以 上的同名方法,只要它们的参数个数或者参数类型不同即可。

重载的特点:

与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类型)。调用时,根据方法参数列表的不同来区别。

可变个数的形参:

JavaSE 5.0中提供了Varargs(variable number of arguments)机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。

说明:

1.声明格式:方法名(参数的类型名..参数名)

2.可变参数:方法参数部分指定类型的参数个数是可变多个: 0个,1个或多个

3.可变个数形参的方法与同名的方法之间,彼此构成重载

4.可变参数方法的使用与方法参数部分使用数组是一致的

5.方法的参数部分有可变形参,需要放在形参声明的最后

6.在一个方法的形参位置,最多只能声明一个可变个数形参

方法参数的值传递机制:

递归方法:

●递归方法: - 一个方法体内调用它自身。

●方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。

●递归一定要向己知方向递归,否则这种递归就变成了无穷递归,类似于死循环。

标签: java

本文转载自: https://blog.csdn.net/zhiwenganyong/article/details/115580169
版权归原作者 像向日葵一样~ 所有, 如有侵权,请联系我们删除。

“JAVA面向对象”的评论:

还没有评论