实验一:类与对象基础
- 目标:创建学生类( Student ),体现封装性。
- 实现:
public class Student {
private String name;
private int age;
// 封装:通过getter/setter访问属性
public void setName(String name) { this.name = name; }
public String getName() { return name; }
// 同理age的getter/setter
}
- 测试:创建对象并调用方法,验证属性访问控制。
实验二:继承与多态应用
- 目标:设计“图形”继承体系,体现多态性。
- 实现:
// 父类
abstract class Shape {
abstract double getArea(); // 抽象方法,子类实现
}
// 子类
class Circle extends Shape {
private double radius;
public Circle(double r) { radius = r; }
@Override
public double getArea() { return Math.PI * radius * radius; }
}
class Rectangle extends Shape {
private double width, height;
// 构造器与getArea()实现略
}
- 多态测试:
Shape shape1 = new Circle(5);
Shape shape2 = new Rectangle(3, 4);
System.out.println(shape1.getArea()); // 调用子类实现的方法
实验三:接口与抽象类实践
- 目标:定义“可操作”接口,实现不同类的行为统一。
- 实现:
interface Operable {
void operate(); // 接口方法
}
abstract class Device implements Operable {
protected String brand;
// 抽象类可实现部分方法或属性
}
class Computer extends Device {
@Override
public void operate() {
System.out.println(brand + "电脑正在运行程序");
}
}
实验四:封装与设计模式(简化)
- 目标:用单例模式封装日志工具类,体现封装与复用。
- 实现:
public class Logger {
private static Logger instance; // 私有实例
private Logger() {} // 私有构造器防止外部创建
public static Logger getInstance() {
if (instance == null) {
instance = new Logger();
}
return instance;
}
public void log(String msg) {
System.out.println("日志:" + msg);
}
}
实验要点总结
1. 封装:属性私有化,通过方法暴露接口,隐藏内部实现。
2. 继承:子类复用父类属性和方法,通过 extends 实现。
3. 多态:父类引用指向子类对象,同一方法表现不同行为(如 getArea() )。
4. 接口/抽象类:定义规范(接口)或部分实现(抽象类),强制子类遵循。
通过以上实验,可直观理解面向对象三大特性(封装、继承、多态)的应用场景。
Java面向对象特性实验示例
3318

被折叠的 条评论
为什么被折叠?



