面向对象
-
面向对象与面向过程
- 面向过程:完成某个功能中每一步需要怎么完成,具体到事件的步骤与过程
- 面向对象:完成某个功能的实施者,将功能封装进具体的对象中
-
面向对象的三个阶段
- 面向对象分析OOA------>Object Oriented Analysis
- 面向对象设计OOD------>Object Oriented Design
- 面向对象编程OOP------>Object Oriented Programming
创建类
-
类中有方法和属性
- 属性就是对对象的"名词"描述,比如人的姓名,性格等描述
- 方法就是对对象的"动词"描述,比如跑,跳,走
-
创建类
-
属性
-
[修饰符] 属性类型 属性名 = [默认值] ;
一般不进行默认值赋值
-
-
方法
-
[修饰符] 方法返回值类型 方法名(形参列表) { // n条语句 }
-
-
package com.shanlei;
/**
* @Auther: shanlei
* @Date: 2020/12/1 - 12 - 01 - 17:11
* @Description: com.shanlei
* @version: 1.0
* 创建人类
*/
public class Person {
// 名词-->属性(只把有需要的内容写到代码里,不相关的东西不要放在代码中)
int age;// 年龄
String name;// 姓名
double height; // 身高
double weight; // 体重
// 动词-->方法
// 吃饭的方法
public void eat(){
System.out.println("我喜欢吃饭");
}
//睡觉的方法
public void sleep(String address){
System.out.println("我在"+address+"睡觉");
}
// 自我介绍
public String introduce(){
return "我的名字是"+name+",我的年龄是"+age+"岁,身高"+height+"米,体重"+weight+"公斤";
}
}
创建对象
- 通过同一个类创建的对象,属性是私有的,方法是公共的;
- 在创建对象的时候,第一次会进行类的加载,再次用这个类创建对象的时候,不会再进行类加载
- 初始化对象的时候,如果没有给对象的属性进行赋值,会自动赋默认值
package com.shanlei;
/**
* @Auther: shanlei
* @Date: 2020/12/1 - 12 - 01 - 17:54
* @Description: com.shanlei
* @version: 1.0
*/
public class Test {
// 这是main方法,是实现程序主要逻辑
public static void main(String[] args) {
// 创建人类对象
// Person 属于引用数据类型
Person zs = new Person();
// 可以对对象的属性进行读取与修改
// 对对象的属性进行修改赋值
zs.name = "张三";
zs.age = 19;
zs.height = 180.3;
zs.weight = 62.3;
// 读取输出对象的属性
System.out.println(zs.name);
// 调用对象的方法
zs.sleep("家");
System.out.println(zs.introduce());
// 通过同一个类创建的对象,属性是私有的,方法是公共的
}
}