面向对象编程基础:类与对象的定义和使用

需积分: 0 1 下载量 197 浏览量 更新于2024-10-16 收藏 157KB DOC 举报
"第四讲 类的定义和使用" 在学习Java程序设计时,面向对象编程是核心概念之一。本讲主要介绍了面向对象程序技术的基础,包括类的定义、对象的创建和引用,以及静态变量和静态方法。面向对象编程(OOP)与传统的面向过程编程有所不同,它更侧重于数据结构和对象间的交互。 面向对象编程的基本思想是将数据和操作数据的方法封装在一个对象中,从而模拟现实世界的实体。对象包含属性(或称为成员变量),用于存储对象的状态,以及行为(或称为方法),用于表示对象的动作。例如,一个名为"ReadingLamp"的类可以定义一个台灯对象,该对象具有"degree"属性(灯泡度数)和"on"方法(打开台灯)。对象的属性和行为是由类定义的,对象是类的具体实例。 类是创建对象的蓝图,它是抽象的。类定义了对象的属性和行为,包括变量和方法。在Java中,类的定义使用关键字"class",并可以包含变量(成员变量)和方法(成员方法)。例如: ```java class Person { int sex; // 性别 int salary; // 工资 void employed() { // 方法:显示工作状态 System.out.print("Workstate:"); if (salary == 0) System.out.println("nojob"); else System.out.println("job"); } } ``` 在这个例子中,`Person`类有两个变量`sex`和`salary`,以及一个`employed`方法。在类外,我们可以创建`Person`类的对象,并调用其方法: ```java public static void main(String[] aa) { Person ps = new Person(); // 创建Person对象 ps.salary = 300; // 设置工资 ps.employed(); // 打印工作状态 ps.salary = 0; // 改变工资 ps.employed(); // 再次打印工作状态 } ``` 通过这个例子,我们可以看到类作为数据类型的角色,可以用类名声明对象变量,如`Person ps`。类中的变量保存属性数据,方法则提供了对象的功能。 在设计面向对象的程序时,需要考虑如何定义合适的类来代表问题域中的实体,并确保类的属性和方法能够准确反映这些实体的特征和行为。例如,如果要计算圆的面积和周长,可以定义一个名为`Circle`的类,包含半径(radius)属性和计算面积(getArea)及周长(getPerimeter)的方法: ```java class Circle { double radius; double getArea() { return Math.PI * radius * radius; } double getPerimeter() { return 2 * Math.PI * radius; } } ``` 在这个`Circle`类中,`radius`是对象的属性,`getArea`和`getPerimeter`是对象的行为。通过实例化`Circle`类并调用相应方法,即可计算出圆的面积和周长。这就是面向对象编程的基本理念,通过封装、继承和多态等特性,使得代码更易于维护和扩展。