Java面向对象专项实验

Java面向对象特性实验示例

实验一:类与对象基础

 

- 目标:创建学生类( 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. 接口/抽象类:定义规范(接口)或部分实现(抽象类),强制子类遵循。

 

通过以上实验,可直观理解面向对象三大特性(封装、继承、多态)的应用场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值