面向对象 与 面向过程的区别:
都是一种思想,思维方式,思考问题的角度.
面向过程 : "关注实现过程|步骤,需要通过几步完成?"然后一步一步执行
面向对象 : "关注我该找谁来完成 ?"实现步骤不关注,只关注这个"谁",他就是对象
面向对象是依托于面向过程的
面向对象优点:
1.更贴合于显示生活中人们的思考角度
2.面向对象更贴合生活中管理者,面向过程更贴合与执行者
3.将复杂的问题简单化
以面向对象的思想进行编程 :
将程序与生活紧密联系
类 : 描述图纸|模板
对象 : 描述生活中真实存在的事物|实例
先有类,才能根据类创建对象
模板|图纸类|javabean的定义:
public class 类名{
//属性--> 成员变量
public 数据类型 属性名 = 赋值;
public 数据类型 属性名;
//功能 --> 成员方法
public 返回值类型|void 方法名(参数列表){
方法体;
[return 返回值;]
}
}
思考:
1)手机能做什么? --> 打电话,打游戏,聊天... --> 动词 --> 成员方法(不加static修饰的成员方法) --> 功能
2)手机有什么特点|特征 --> 品牌,颜色,价格,尺寸... -->名词 --> 成员变量 --> 属性
代码:
//手机测试类
public class Class001_PhoneTest {
public static void main(String[] args) {
Class001_Phone phone=new Class001_Phone();
phone.brand="华为";
phone.coral="白色";
phone.price=5999;
phone.size=6.5;
System.out.println(phone.brand+"\t"+phone.coral+"\t"+phone.price+"\t"+phone.size);
phone.call();
}
}
public class Class001_Phone {
//属性,品牌,价格,尺寸
public String brand;
public String coral;
public double size;
public double price;
//功能:打电话
public void call(){
System.out.println("打电话");
}
}
手机测试类:
1.导包
不需要导包的类 :
1)java.lang包下的类
2)同包下的类
2.创建类型的引用|创建对象 new具有创建对象的能力
引用数据类型 引用 = new 引用数据类型();
3.使用
使用属性(赋值|获取值)
引用.属性名
使用功能
引用.功能名字(参数列表)
代码:
public class Class002_PhoneTest{
public static void main(String[] args){
//创建类型的引用|创建对象 new具有创建对象的能力
Class001_Phone phone = new Class001_Phone();
//属性赋值
phone.brand="华为";
phone.color="白色";
phone.size = 5.5;
phone.price = 6999;
//属性获取
System.out.println(phone.color);
System.out.println(phone.brand);
System.out.println(phone.size);
System.out.println(phone.price);
//使用功能
phone.call();
phone.call();
phone.call();
}
}
注意:
成员是对象的,需要跟随对象使用
测试成员变量默认值:
基本数据类型:4类八种
整数:0
小数:0.0
布尔:false
字符:空字符|'\u0000'
引用数据类型:null
代码:
public class Class003_Test {
public String str;
public int i;
public double j;
public boolean flog;
public char a;
public static void main(String[] args) {
Class003_Test cs=new Class003_Test();
System.out.println(cs.i);
System.out.println(cs.j);
System.out.println(cs.flog);
System.out.println(cs.a);
}
}