面向对象1
目标
1.面向过程和面向对象的设计思想
2.java类
3.Java类的定义
4.java对象
5.对象的创建和使用
6.变量分类
7.方法分类
8.构造方法
9.方法的重载
1.面向过程和面向对象的设计思想
面向过程(procedure oriented programming 缩写 POP):
分析出解决问题所需要的步骤,然后把步骤一步一步实现。
面向过程直接关注流程。例如:C语言,Fortran语言
面向对象(object oriented programming 缩写 OOP)面向对象的编程语言:
以分类的方式进行思考和解决问题。
面向对象先对整体关系作出分类,然后根据不同的类深入细节的处理。
面向对象的思想符合人类的认知习惯。例如:c++,c#,java,delphi。
面向对象和面向过程的关系:
面向对象无法取代面向过程,他们是相辅相成的。面向对象关注于从宏观上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维方式。面向对象如果离开了面向过程,就无法实现真正的落地,成为无源之水。
2.java类
类是一个模板,它描述一类事物的属性和行为的集合。类是表示一个客观世界某类群体的一些基本特征抽象。比如:人类,狗类…
1.类的结构:
成员变量:事物属性的描述;
方法:事物的行为;(可以做的事情)
构造方法:用于创建对象;
内部类: 即在类体中声明的类。
块:一段没有名称的代码块
2.类的定义:
第一步:从具体的事物抽象出类。
类的声明格式为:
[访问权限修饰符] [修饰符] class 类名{}
第二步:寻找出类的共有属性(成员变量)。
成员变量的声明格式:
[访问权限修饰符] [修饰符] 类型 成员变量名 [=值] ;
第三步:寻找类的方法。
方法的声明格式:
[访问权限修饰符] [修饰符]/ 返回值类型 方法名(){
/*语句*/
return 返回值;
}
3.java对象
对象是类的一个实例,是以类为模板在内存中创建的实际存在的实例。
例如人类可以创建出:男人对象,女人对象,或者具体某某某人。
对象的创建和使用:
类名 对象名 = new 类名();例如: Car x1 = new Car();
Car x1
:使用Car类作为类型声明一个变量x1.
new Car()
:使用new + Car类构造方法创建对象.
=
:将右边创建的对象地址 赋给 左边的x1变量
使用x1变量访问对象中的成员变量和成员方法.
类和对象的总结
类是一类事物的抽象概念,是一个模型或者说是一个模板。
对象是由这个模型所创造的一个个具体存在的,实实在在存在的实例.
所以创建对象的过程也叫实例化对象。通过模板制造出一个可以供我们操作的对象。现实生活中先有对象后有类,而编程时先设计类后创建对象.
4.变量分类
按照位置变量分为:
成员变量:
成员变量是定义在类中,方法体之外的变量。
成员变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。
在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。
成员变量在创建对象的时候会从类中复制一份到对象中。
成员变量可以被类中方法、构造方法和特定类的语句块访问。
成员变量的作用范围为整个类体。
局部变量:
在方法、构造方法或者语句块中定义的变量被称为局部变量。
局部变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。
局部变量在使用前必须初始化赋值。
变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
5.方法分类
**成员方法:**成员方法是定义在类中。这种方法在创建对象的时候创建。
语法格式:
修饰符 返回值类型 方法名 ( 参数列表) {
方法体语句;
return 返回值;
}
构造方法:用来创建对象的方法。
6.构造方法※(待补)
构造方法名与类名相同,且没有返回值,且不需要使用void修饰。
构造方法是定义在 Java 类中的一个用来创建对象的方法。
使用 new + 构造方法 创建一个新的对象。在创建一个对象的时候,至少要调用一个构造方法。
每个类都有构造方法。如果没有显式地为类定义构造方法,Java将会为该类提供一个默认构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效。
一个类可以有多个构造方法。
7.方法的重载
方法的重载是指同一个类中具有相同的名字,但参数不同的多个方法。
参数不同(可以有三方面的不同)
1.数量不同
2.类型不同
3.顺序不同
调用时,会根据不同的参数表选择对应的方法。
注意:方法重载跟方法的返回值类型没有任何关系