面向对象基础
基本概念
面向对象
- Java语言是一种面向对象的语言。
- 面向对象是一种直观而且程序结构简单的程序设计方法,比较符合人类认识现实世界的思维方式。
- 面向对象的三大特征:封装、继承、多态。
对象
- 对象是用来描述客观事物的一个实体。
- 如我的自行车就是一个对象。
类
- 类是具有相同属性和方法的一组对象的集合。类定义了对象将会拥有的特征(属性)和行为(方法)。
- 一个类给出它的全部对象的一个统一的定义,每个对象则是符合这种定义的一个实体。
- 类是多个对象进行综合抽象的结果,是实体对象的概念模型,一个对象是一个类的实例。
- 如我的自行车是一个对象,而我同学的自行车是一个对象。两辆自行车有不同的牌子,不同的价格,不同的材质,但它们同属于一个自行车的类。
定义类
- 面向对象设计的过程
- 发现类,类定义了对象将会拥有的特征和行为。
- 发现类的属性,对象所拥有的静态特征在类中表示时称为类的属性。
- 发现类的方法,对象执行的操作称为类的方法。
定义类
-
语法格式
[访问修饰符]class 类名{
}
-
定义“人”类。
-
关键代码:
public class Person{ }
-
属性
-
类的内部主要包括属性和方法。
-
语法格式:
[访问修饰符] 数据类型 属性名;
- 注:访问修饰符是可选的。
-
为“人”类添加相应属性。
-
人都有姓名,性别和年龄,就可以称为“人”类的属性。
-
关键代码:
public class Person{ public String name; public String gender; public int age; }
-
方法
-
对象执行操作的行为称为类的方法。
-
语法格式:
[访问修饰符] 返回类型 方法名称(参数类型 参数名1,参数类型 参数名2,……){
}
-
访问修饰符是可选的。
-
返回类型为void时表示没有返回值,方法体中不必使用“return”关键字返回具体数值,但是可以使用“return”关键字退出方法。
-
小括号中的“参数类型 参数名1,参数类型 参数名2,……”称为参数列表。当需要为方法传递参数时才需要参数列表,不需要时省略,小括号不可以省略。
-
-
在“人”类中定义方法,描述人工作的行为。
-
关键代码:
public class Person{ public String name; public String gender; public int age; //工作的行为 public void work(){ System.out.println(this.name+"的工作理念:干活挣钱有饭吃"); } }
-
创建和使用对象
创建对象
-
类是一类事物的集合和抽象,代表这类事物共有的属性和行为。一个对象称为类的一个实例。
-
如“张三”是一个“人”类的具体对象。
-
语法格式:
类名 对象名 = new类名();
- new是关键字。
- 左边的类名为对象的数据类型。
-
创建Person类的对象。
-
关键代码:
Person hanbing = new Person();
对象名为hanbing.
-
使用对象
-
要引用对象的属性和方法,需要使用“.”。
-
语法格式:
对象名.属性 //引用对象的属性
对象名.方法名() //引用对象的方法
-
为对象hanbing属性赋值并调用其方法。
-
关键代码:
public static void main(String[] orgs){ Person hanbing = new Person();//创建对象 hanbing.name = "韩冰"; //为对象的name属性赋值 hanbing.gender = "女"; //为对象的gender属性赋值 hanbing.age = 22; //为对象的age赋值 hanbing.work(); //调用对象的work方法 }
输出结果:
-
面向对象的优点
- 与人类的思维习惯一致,面向对象的思维方式是从人类考虑问题的角度出发,把人类解决问题的思维过程转变为程序能够理解的过程。
- 信息隐藏,提高了程序的可维护性和安全性:封装实现了模块化和信息隐藏,即将类的属性和行为封装在类中,这保证了对它们的修改不会影响到其他对象,利于维护。同时,封装使得在对象外部不能随意访问对象的属性和方法,避免了外部错误对它的影响,提高了安全性。
- 提高了程序的可重用性:一个类可以创建多个对象实例,体现了重用性。