面向对象 1.0
1. 生活中的面向对象和面向过程
胡辣汤:
去方中山胡辣汤店
1. 买票
2. 排队
3. 喝
4. 走人
汤的制作过程,餐厅打扫收拾与你无关!!!
自己做胡辣汤:
1. 百度,如何制作胡辣汤
2. 去菜市场买材料
3. 回家按照教程准备实现
4. 手忙脚乱,啥也不是!!!
5. 不舍得喝,得给别人
6. ........
7. 收拾厨房,餐厅...
汤的整个过程,亲力亲为。
烤羊排:
去店里吃烤羊排:
1. 找个店铺点羊排
2. 等
3. 吃
4. 跑
自己做羊排:
1. 宁夏岩滩羊
2. 改刀
3. 腌制(洋葱,姜,葱,孜然粉,一丢丢盐) 30分钟
4. 准备 玉米,芋头,土豆
5. 烤箱预热5分钟 210度 烤盘铺锡纸
6. 烤制 210度 15分钟 撒孜然粉,辣椒,翻面 190度 20分钟
7. 吃
8. 收拾
面向对象:
找合适人,做合适的事
瓦工 --> 铺砖
漆工 --> 刷漆
面向过程:
亲力亲为,冷暖自知,自力更生...
2. 类和对象
类 对象 人类 乔布斯(Jobs),雷布斯,马云爸爸,麻花藤,郭德纲,任正非 狗类 哮天犬,王可可,忠犬八公,湄公河行动啸天 电脑类 张三的小米游戏本,张三曾经的MacBook Pro,张三曾经的Dell 灵越15 手机类 张三的Mate 30 Pro 5G,张三曾经的iPhone 8P/7P/6SP
类:
对一类事物的描述,描述事物的属性和行为
属性描述
行为描述
对象:
唯一的,独立的,特殊的个体,不具备重复性
3. Java中定义类【重点 熟能生巧】
3.1 基本格式
class 类名 {
属性描述;
构造方法;
行为描述;
}
3.2 属性描述 ==> 成员变量 Field
class Person {
int id;
String name;
int age;
char gender;
}
3.3 行为描述 ==> 成员方法 Method
class Person {
public void eat ( String food) {
System . out. println ( "今天吃" + food) ;
}
public void sleep ( ) {
System . out. println ( "寒冷冬天,最讨厌的就是离开温暖的被窝..." ) ;
}
public void coding ( ) {
System . out. println ( "每天都在写BUG..." ) ;
}
}
4. Java中对象使用方式【重点 熟悉】
4.1 创建对象 new 对象
格式:
类名 对象名 = new 类名(实际参数);
类名:
当前创建对象的数据类型是哪一个,例如: Person SingleDog Connection
类名都是首字母大写!!!
对象名:
1. 对象名是操作当前对象的重要名称。
2. 对象名也是一个【引用数据类型】,引用数据类型变量中,保存是对象占用空间的地址。
new:
1. 根据当前数据类型所需在内存的【堆区】申请对应的内存空间
2. 擦除申请空间中的所有数据。【零值】
类名(实际参数):
【构造方法 Constructor】
构造方法是创建对象非常重要的一个方法,要求方法的名称和类名一致,参数是创建对象需要的初始化参数。
Person person = new Person ( ) ;
System . out. println ( person) ;
4.2 通过对象操作成员变量
例如:
int[] arr = new int[10];
arr.length ==> 10
数组 的 容量
. ==> 的
person. id = 10 ;
person. name = "小A" ;
person. age = 16 ;
person. gender = '男' ;
System . out. println ( "ID:" + person. id) ;
System . out. println ( "Name:" + person. name) ;
System . out. println ( "Age:" + person. age) ;
System . out. println ( "Gender:" + person. gender) ;
4.3 通过对象操作成员方法
例如:
Scanner sc = new Scanner(System.in);
int num = sc.nexInt();
double num = sc.nextDouble();
类对象.成员方法();
. ==> 的
person. eat ( "鸡蛋面 + 玉米" ) ;
person. sleep ( ) ;
person. coding ( ) ;
5. 构造方法
5.1 格式
public 类名(初始化参数) {
初始化语句;
}
无参数构造方法【使用最多!!!】
有参数构造方法
5.2 作用
初始化当前类对象成员变量数据
5.3 代码演示
public Person ( ) {
System . out. println ( "无参数构造方法" ) ;
}
public Person ( int i, String n) {
id = i;
name = n;
System . out. println ( "两参数构造方法" ) ;
}
public Person ( int i, String n, int a, char g) {
id = i;
name = n;
age = a;
gender = g;
System . out. println ( "四参数构造方法" ) ;
}