一、初识面向对象
Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。
面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。
首先,在这里我们需要先区分一下面向对象与面向过程
这里我们以洗衣服为例
手洗衣服(相当于面向过程):
拿盆——>倒水——>放衣服——>放洗衣液——>手搓——>换水——>清洗衣服上残留的洗衣液——>拧干——>晾衣服——>倒水
我们可以看到这里把洗衣服的过程都列了出来,缺一不可
机洗衣服(相当于面向对象):
人将衣服放入洗衣机——>倒入洗衣液——>启动洗衣机——>待洗衣机运行结束后晾晒
我们可以看到这里我们只涉及到了四个对象:人、洗衣机、洗衣液、衣服,我们并不关心洗衣机是如何洗衣服的,我们这里只关心这四个对象之间如何相互作用实现了洗衣服的功能
面相对象程序设计关注的是对象,而对象是现实生活中的实体,此时我们就需要通过类来对对象进行描述。
二、类的认识与使用
(一)初识类
对象在现实生活中是一个实体,比如说一个人,我们并不认识他,此时就需要类来描述这个人的属性和行为方法。
类是用来对一个实体(对象)来进行描述的 每个对象都有他们独特的属性与行为
例如:人
属性:名字、性别、年龄、身高、体重、学历、家庭背景……
行为:吃饭、睡觉、学习、工作、打游戏、谈恋爱、结婚、生子……
(二)定义类
在java中定义类时需要用到class关键字
class ClassName{
field; // 字段(属性) 或者 成员变量
method; // 行为 或者 成员方法
}
ClassName:类的名字
属性:称作类的成员属性或类的成员变量
行为:称作类的成员方法
这里我们可以定义一个洗衣机的类
class WashMachine{
public String brand; // 品牌
public String type; // 型号
public double weight; // 重量
public double length; // 长
public double width; // 宽
public double height; // 高
public String color; // 颜色
public void washClothes(){ // 洗衣服
System.out.println("洗衣功能");
}
public void dryClothes(){ // 脱水
System.out.println("脱水功能");
}
public void setTime(){ // 定时
System.out.println("定时功能");
}
}
注:
类名使用大驼峰的形式
(三)实例化类
定义了一个类,就相当于在计算机中定义了一种新的类型
用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象
class Dog{
public String name;//狗的名字
public String color;//狗的颜色
//狗的行为
public void bark(){
System.out.println(name + "汪汪叫");
}
public void wag(){
System.out.println(name + "摇尾巴");
}
}
public class Test {
public static void main(String[] args) {
Dog dog1 = new Dog();
dog1.name = "旺财";
dog1.color = "白色";
dog1.bark();
dog1.wag();
Dog dog2 = new Dog();
dog2.name = "小花";
dog2.color = "黄色";
dog2.bark();
dog2.wag();
}
}
注:
- new 关键字用于创建一个对象的实例
- 使用 . 来访问对象中的属性和方法
- 同一个类可以创建多个实例
三、类和对象的说明
- 类是一个类似于模型的东西,用来对一个实体进行描述,限定了有哪些成员
- 类是一种自定义的类型,可以用来定义变量
- 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量