参考资料:黑马程序员
https://www.bilibili.com/video/BV17F411T7Ao?p=81&vd_source=54650e8aac2df129bf190949eed28adf
面向对象与面向过程的区别
共性:
都是一种思想,思维方式,思考问题的角度
不同:
面向过程:如何一步一步的去实现?直面过程
面向对象:我该找谁来实现?面对一个对象,由对象去实现过程,如何去实现由对象去考虑
面向对象的实现依托于面向过程
面向对象的优点
优点:
1)将复杂的问题简单化
2)将程序与现实生活紧密联系
3)面向过程适用于执行者,面向对象适用于管理者
使用面向对象思想编程
类 : 定义一系列对象事物的共性-->图纸|模版|javabean|实体
对象 : 描述显示生活中真实存在的事物 | 实例
根据类创建对象,进一步使用对象
类和对象
类
类的理解
类是对现实生活中一类具有属性和行为的事物的抽象
类是对象的数据类型,类具有相同属性和行为的一组对象集合
类是对现实事物的一种描述
类的组成
属性:事物的特征(在类中通过成员变量来体现(类中方法外的变量))
行为:指事物能执行的操作(在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可))
类的定义步骤:
①定义类
实体类的定义分析 :
1.手机都有什么特点|特征-->属性--> 名词 ==>成员变量
颜色 ,品牌,价格,尺寸...
2.手机都有什么能力|功能 -------> 动词 ==>成员方法
打电话,听歌,打游戏....
②编写类的成员变量
③编写类的成员方法
public class 类名 {
// 成员变量
变量1的数据类型 变量1;
变量2的数据类型 变量2;
…
// 成员方法
方法1;
方法2;
}
对象的使用
创建对象的格式:
-
类名 对象名 = new 类名();
调用成员的格式:
-
对象名.成员变量
-
对象名.成员方法();
创建对象
格式:类名 对象名 = new 类名();
范例:Phone p = new Phone();
使用对象
1:使用成员变量
格式:对象名.变量名
范例:p.brand
2:使用成员方法
格式:对象名.方法名()
范例:p.call()
练习 :
模拟把大象装进冰箱的实现流程
/*1.分析涉及到了几种事物
1.对象 : 大象 elephant
属性 : 姓名 颜色 品种....
2.冰箱: fridge
属性 : 价格 品牌 .....
功能 : 打开冰箱 装进大象 关闭冰箱...
2.分析具体的实现流程步骤
1) 打开冰箱 装进大象 关闭冰箱...
*/
public class SaveElephant {
public static void main(String[] args) {
Elephant elephant=new Elephant();
Fridge fridge=new Fridge();
elephant.breed="美洲象";
elephant.name="大华";
elephant.color="白色";
fridge.brand="海尔";
fridge.price=20000;
fridge.open();
fridge.save(elephant);
fridge.close();
}
}
class Elephant{
public String name;
public String color;
public String breed;
}
class Fridge{
public double price;
public String brand;
public void open(){
System.out.println("打开冰箱");
}
public void save(Elephant elephant){
System.out.println("装进"+elephant.color+"的"+elephant.breed+"的"+elephant.name+"大象");
}
public void close(){
System.out.println("关闭冰箱");
}
}