面向对象/过程的区别以及各自的特点
package Object;
public class ObjectExplain {
public static void main(String[] args) {
/*
1.1.2面向过程特点与面向对象特点
A:面向过程:
强调的是过程,所有事情都需要自己完成
B:面向对象:
是一种更符合我们思想习惯的思想(懒人思想,我把事情自己不做,交给别人去做)
可以将复杂的事情简单化(对使用者来说简单了,对象里面还是很复杂的)
将我们从执行者变成了指挥者角色发生了转换
* 面向对象思想:
* 面向对象是基于面向过程的编程思想。
*
* 面向过程:强调的是每一个功能的步骤
* 面向对象:强调的是对象,然后由对象去调用功能
*
* 面向对象的思想特点:
* A:是一种更符合我们思考习惯的思想
* B:可以将复杂的事情简单化
* C:将我们从执行者变成了指挥者
*
* 举例:
* 买电脑:
* 面向过程:我要买电脑--我要明确买电脑的意义--上网查对应的参数信息--去中关村买电脑--讨价还价--买回电脑
* 面向对象:我要买电脑--班长去给我买电脑--买回电脑
* 洗衣服:
* 面向过程:把衣服脱下来--找一个盆--放点洗衣粉--加点水--浸泡10分钟--揉一揉--清洗衣服--拧干--晾起来
* 面向对象:把衣服脱下来--打开全自动洗衣机--扔衣服--按钮--晾起来
*/
}
}
类的定义和使用
package Object;
public class Student {
/*
* 类的定义:
* 类是用来描述现实世界的事物的
*
* 事物:
* 属性 事物的描述信息
* 行为 事物能够做什么
*
* 类是如何和事物进行对应的呢?
* 类:
* 成员变量
* 成员方法
*
* 需求:写一个学生类
*
* 学生事物:
* 属性:姓名,年龄...
* 行为:学习,吃饭...
*
* 学生类:
* 成员变量:姓名,年龄
* 成员方法:学习,吃饭
*
* 成员变量:和我们前面学习过的变量的定义是一样的。
* 位置不同:类中,方法外
* 初始化值:不需要给初始化值
* 成员方法:和我们前面学习过的方法的定义是一样的。
* 去掉static关键字
*/
// 成员变量
//姓名
String name;
//年龄
int age;
public void study(){
System.out.println("好好学习,天天向上!");
}
public void eat(){
System.out.println("干饭人,干饭魂!");
}
}
-------------------------------------------------------------------------
package Object;
public class StudentDemo {
public static void main(String[] args) {
/*
* Student是一个学生事物描述类,main方法不适合放在它里面。
*
* 使用一个类,其实就是使用该类的成员。(成员变量和成员方法)
* 而我们要想使用一个类的成员,就必须首先拥有该类的对象。
* 我们如何拥有一个类的对象呢?
* 创建对象就可以了?
* 我们如何创建对象呢?
* 格式:类名 对象名 = new 类名();
* 对象如何访问成员呢?
* 成员变量:对象名.变量名
* 成员方法:对象名.方法名(...)
*/
//创建对象
Student s=new Student();
//使用对象
System.out.println("name:"+s.name);//没有赋值---String默认为null
System.out.println("age:"+s.age);//int默认为 0
System.out.println("---------------");
s.name="林青霞";
s.age=18;
System.out.println("name:"+s.name);// 林青霞
System.out.println("age:"+s.age);// 18
System.out.println("---------------");
//调用成员方法
s.study();
s.eat();
}
}
--------------------------------------------------------------------------------------
package Object;
/*
手机类:
成员变量:品牌、价格、颜色...
成员方法:打电话、发短信...
*/
public class Phone {
//品牌
String brand;
//价格
int price;
//颜色
String color;
public void call(){
System.out.println("你可以用手机打电话!");
}
public void send(){
System.out.println("你可以用手机给别人发短信!");
}
}
----------------------------------------------------------------------------------
package Object;
/*
手机类的测试类
*/
public class PhoneDemo {
public static void main(String[] args) {
Phone s=new Phone();
s.brand="小米";
s.color="黄色";
s.price=1000;
System.out.println("品牌:"+s.brand);
System.out.println("价格:"+s.price);
System.out.println("颜色:"+s.color);
s.call();
s.send();
}
}