本章目标
了解面向对象的基本概念
了解面向对象的三个主要特征
掌握类与对象的关系
掌握类的定义
掌握对象的声明及使用
面向过程与面向对象
程序的发展经历了两个主要阶段:面向过程、面向对象
对于面向对象与面向过程可以用一个例子解释,如一个木匠要做一个盒子,那么做这个盒子的出发点会有两种方式:
——面向对象:先想好要做的盒子,之后再去找相应的工具去做。
——面向过程:不去想要做什么样的盒子,随需取用工具。
面向对象的三大特征
封装(Encapsulation)
——对外部不可见
继承(Inheritance)
——扩展类的功能
多态(Polymorphism)
——方法的重载
——对象的多态性
类与对象
类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)
换种方式解释:类与对象的关系
类就相当于是一个模板,依照此模板产生产品
类的定义
定义Person类
class Person {
String name;
int age;
public void tell() {
System.out.println("姓名:" + name + ",年龄:" + age);
}
}
Person类图
所示的图形分为三个层次
——第一层表示类的名称,类的名称与之前一样要求开头首字母大写;
——第二层表示属性的定义,按照“访问权限 属性名称:属性类型”的格式定义;
——第三层表示类中方法的定义,按照“访问权限 方法名称():方法返回值”的格式定义
对象的创建及使用
类名 对象名称 = 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();//创建并实例化对象
}
}
访问类中的属性和方法
访问属性:对象名称.属性名
访问方法:对象名称.方法名()
class Person{
String name;//声明姓名属性
int age;//声明年龄属性
public void tell(){//取得信息的方法
System.out.println("姓名:"+name+", 年龄:"+age);
}
}
public class ClassDemo03 {
public static void main(String[] args) {
Person per = null;//声明对象
per = new Person();//实例化对象
per.name = "张三";//为 name 属性赋值
per.age = 30;//为 age 属性赋值
per.tell();//调用类中的方法
}
/*结果:
* 姓名:张三, 年龄:30
* */
}