本章目标
- 了解面向对象的基本概念
- 了解面向对象的三个主要特征
- 掌握类与对象的关系
- 掌握类的定义
- 掌握对象的声明及使用
1.1、面向对象的概念
面向过程与面向对象
- 程序的发展经历了两个主要节点:面向过程、面向对象。
- 对于面向对象与面向郭恒可以使用一个例子结束,如一个木匠要做一个盒子,那么做这个盒子的出发点会有两种方式:
面向对象:先想好要做的盒子,之后再去找相应的工具去做。
面向过程:不去想要做什么样的盒子,随需要取工具。
面向对象的三大特征
* 封装(Encapsulation)
对外部不可见
* 继承(Inheritance)
扩展类的功能
* 多态(Polymorphism)
方法的重载
对象的多态性
封装性:对外部不可见。可以保护程序中的某些内容。
继承性:扩展功能的。
多态性:同一消息可以根据发送对象的不同而采用多种不同的行为方式。可以消除类型之间的耦合关系。
1.2、类与对象的关系
面向对象的核心组成部分:类与对象。
类与对象
类是对某一事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。
1.3、类与对象的定义
类的定义
class 类名称{
数据类型 属性; //声明成员变量(属性)
···
public 返回值的数据类型 方法名称 (参数1,参数2...){ //定义方法内容
程序语句;
[return 表达式;]
}
}
之前怎经讲过public class 和 class,class实际上就描述定义一个类,那么现在的操作中也依然使用class去定义一个类。
按此格式定义一个Person类:
class Person{
// 人中有姓名和年龄两个属性
String name ; // 表示姓名
int age ; // 表示年龄
public void tell(){
System.out.println("姓名:" + name + ";年龄:" + age) ;
}
};
此时定义了一个类。但是一个类定义完成之后不能直接使用,需要产生对象。
对象的创建与使用
类名 对象名称 = null;
对象名称 = new 类名();
类名 对象名称 = new 类名();
产生对象:
class Person{
// 人中有姓名和年龄两个属性
String name ; // 表示姓名
int age ; // 表示年龄
public void tell(){
System.out.println("姓名:" + name + ";年龄:" + age) ;
}
};
public class ClassDemo02{
public static void main(String args[]){
Person per = new Person() ;
}
};
Person类图
- 所示的图像分为三个层次
第一层表示类的名称,类的名称与之前一样要求开头首字母大写;
第二层标书属性的定义,按照“访问权限 属性名称:属性类型”格式定义;
第三层表示勒种的方法定义,按照“访问权限 方法名称():方法返回值”的格式定义。
在程序的开发中都是以类图的形式进行说明的,对于之前的Person类也可以使用以上类图同样表示。
2、总结
1、了解面线对象的三个主要特性
2、掌握雷与对象的格式定义
3、必须先有类之后才能产生对象,类中规定了对象的操作。