面向过程与面向对象之间的区别:
都是思想,思维方式
面向过程:“我该如何实现?” 然后一步一步完成就可以了
面向对象:"我该招谁来完成?"只关注对象,不关注实现步骤
面向对象是依托于面向过程的
面向对象的优点:
1.可以将复杂的问题简单化
2.更贴近与现实生活的的思维方式
3.面向对象更贴近于管理者的角度,面向过程贴近与执行者
面向对象提出2个概念:
让生活与程序建立联系,类,对象
类: 一系列事物的模板|图纸 ,一系列事物|对象抽取出共性定义在类中,根据这个类创建的对象都具有这些特性
对象: 生活中真实存在的每一个事物 粉色 路虎
先定义类,才能根据类构建对象 先有图纸才有车
自定义类:
1.手机能做什么? 功能: 打电话 玩游戏 看小说 听音乐 动词 -->成员方法定义功能
2.手机都有什么特点|特征? 属性: 品牌 颜色 价格 尺寸 名词 -->成员变量定义属性
public class Phone07{
//颜色
public String color;
//品牌
public String brand;
//价钱
public double price;
//打电话
public void call(){
System.out.println("从前有一个长得像电话,出门就被打了...");
}
}
案例:蛋糕师做蛋糕
//蛋糕师
//注意: 方法的参数|返回值都可以为任意类型,包括自定义的引用数据类型
public class Caker {
public String name;
//制作蛋糕
//返回值: 有 返回一个蛋糕 参数:蛋糕的细节
public Cake makeCake(int size,String taste,double money){
//创建蛋糕对象
Cake cake=new Cake();
cake.size=size;
cake.taste=taste;
cake.money=money;
return cake;
}
}
/*
* 分析:蛋糕师制作蛋糕:
* 事物: 蛋糕 蛋糕师
* 蛋糕类: 尺寸 口味 价钱 形状.... 功能:展示细节:把所有成员属性的值都打印
* 蛋糕师类: 姓名 年龄 性别 功能:制作蛋糕
*/
public class Cake {
public int size;
public String taste;
public double money;
public void info(){
System.out.println(size+","+taste+","+money);
}
}
//测试类
public class Test {
public static void main(String[] args) {
//测试蛋糕师制作蛋糕
//蛋糕师
Caker caker=new Caker();
caker.name="老裴";
Cake cake=caker.makeCake(12, "巧克力",300);
System.out.println(cake);
cake.info();
}
}