智能医学工程-计算机程序设计-2025版-教学案例-第09章

71 阅读3分钟

eg 9.1

class Person {
    String name;
    int age;
    
    void speak() {
        System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
    }
}

public class Main {
    public static void main(String[] args) {
        Person person = new Person();
        person.name = "Alice";
        person.age = 30;
        person.speak();
    }
}

eg 9.1.1

public class Dog {
    String breed;
    int size;
    String colour;
    int age;
    
    void eat() {}
    void run() {}
    void sleep() {}
    void name() {}
}

eg 9.1.1-2

public class Puppy{
    public Puppy() {}
    public Puppy(String name) {}
}

eg 9.1.1-3

public class Puppy{
    public Puppy(String name){
        System.out.println("小狗的名字是 : " + name ); 
    }
    
    public static void main(String[] args){
        Puppy myPuppy = new Puppy( "tommy" );
    }
}

eg 9.1.1-4

public class Puppy {
    private int age;
    private String name;
    
    public Puppy(String name) {
        this.name = name;
        System.out.println("小狗的名字是 : " + name);
    }
    
    public void setAge(int age) { this.age = age; }
    public int getAge() { return age; }
    public String getName() { return name; }
    
    public static void main(String[] args) {
        Puppy myPuppy = new Puppy("Tommy");
        myPuppy.setAge(2);
        System.out.println("小狗的年龄为 : " + myPuppy.getAge());
    }
}

eg 9.1.1-5

import java.io.*;

public class Employee {
    private String name;
    private int age;
    private String designation;
    private double salary;
    
    public Employee(String name) { this.name = name; }
    
    public void setAge(int age) { this.age = age; }
    public int getAge() { return age; }
    public void setDesignation(String designation) { this.designation = designation; }
    public String getDesignation() { return designation; }
    public void setSalary(double salary) { this.salary = salary; }
    public double getSalary() { return salary; }
    
    public void printEmployee() { System.out.println(this); }
    
    @Override
    public String toString() {
        return "名字: " + name + "\n" +
               "年龄: " + age + "\n" +
               "职位: " + designation + "\n" +
               "薪水: " + salary;
    }
}

eg 9.1.1-6

import java.io.*;

public class EmployeeTest {
    public static void main(String[] args) {
        Employee empOne = new Employee("RUNOOB1");
        Employee empTwo = new Employee("RUNOOB2");
        
        empOne.setAge(26);
        empOne.setDesignation("高级程序员");
        empOne.setSalary(1000);
        empOne.printEmployee();
        
        empTwo.setAge(21);
        empTwo.setDesignation("菜鸟程序员");
        empTwo.setSalary(500);
        empTwo.printEmployee();
    }
}

eg 9.2

public class User {
    private String name;
    private int age;
    
    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getName() { return name; }
    public int getAge() { return age; }
}

import java.util.HashMap;
import java.util.Map;

public class UserRepository {
    private Map<String, User> users = new HashMap<>();
    
    public void addUser(String id, User user) { users.put(id, user); }
    public User getUser(String id) { return users.get(id); }
}

public class UserService {
    private UserRepository userRepository = new UserRepository();
    
    public void addUser(String id, String name, int age) {
        User user = new User(name, age);
        userRepository.addUser(id, user);
    }
    
    public User getUser(String id) { return userRepository.getUser(id); }
}

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

public class UserServiceTest {
    @Test
    public void whenAddUser_thenGetUser() {
        UserService userService = new UserService();
        userService.addUser("1", "Alice", 25);
        User user = userService.getUser("1");
        assertEquals("Alice", user.getName());
        assertEquals(25, user.getAge());
    }
}

eg 9.2.1

public interface Feature {
    void execute();
}

public class FeatureA implements Feature {
    @Override
    public void execute() {
        System.out.println("Feature A is executed.");
    }
}

public class FeatureB implements Feature {
    @Override
    public void execute() {
        System.out.println("Feature B is executed.");
    }
}

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class SystemArchitecture {
    private List<Feature> features = new ArrayList<>();
    
    public SystemArchitecture(List<Feature> features) {
        this.features = features;
    }
    
    public void runAllFeatures() {
        for (Feature feature : features) {
            feature.execute();
        }
    }
}

public class Main {
    public static void main(String[] args) {
        List<Feature> featureList = Arrays.asList(new FeatureA(), new FeatureB());
        SystemArchitecture architecture = new SystemArchitecture(featureList);
        architecture.runAllFeatures();
    }
}

eg 9.2.2

public class CreditCard {
    private String number;
    private double balance;
    
    public CreditCard(String number, double balance) {
        this.number = number;
        this.balance = balance;
    }
    
    public String getNumber() { return number; }
    public double getBalance() { return balance; }
    public void updateBalance(double amount) { this.balance += amount; }
    public void printCardInfo() {
        System.out.println("信用卡号: " + number);
        System.out.println("余额: " + balance);
    }
}

public class CreditCardExample {
    public static void main(String[] args) {
        CreditCard myCard = new CreditCard("1234-5678-9101-1213", 5000.00);
        myCard.printCardInfo();
        myCard.updateBalance(1000.00);
        myCard.printCardInfo();
    }
}

eg 9.3

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public void introduce() {
        System.out.println("My name is " + name + " and I am " + age + " years old.");
    }
}

public class Main {
    public static void main(String[] args) {
        Person person = new Person("Alice", 30);
        person.introduce();
    }
}

eg 9.4

public enum ItemType {
    CONSUMABLE,
    CURRENCY,
    BOOSTER
}

public abstract class GameItem {
    private String name;
    private ItemType type;
    
    public GameItem(String name, ItemType type) {
        this.name = name;
        this.type = type;
    }
    
    public String getName() { return name; }
    public ItemType getType() { return type; }
    public abstract String describeEffect();
}

public class ConsumableItem extends GameItem {
    public ConsumableItem(String name) {
        super(name, ItemType.CONSUMABLE);
    }
    
    @Override
    public String describeEffect() {
        return "这是一个可消耗的物品,它可以给玩家带来积极的效果。";
    }
}

public class CurrencyItem extends GameItem {
    private int amount;
    
    public CurrencyItem(String name, int amount) {
        super(name, ItemType.CURRENCY);
        this.amount = amount;
    }
    
    @Override
    public String describeEffect() {
        return "获得 " + amount + " 金币。";
    }
}

public class BoosterItem extends GameItem {
    private int duration;
    
    public BoosterItem(String name, int duration) {
        super(name, ItemType.BOOSTER);
        this.duration = duration;
    }
    
    @Override
    public String describeEffect() {
        return "提供短暂的属性加成,持续 " + duration + " 小时。";
    }
}

public class Main {
    public static void main(String[] args) {
        GameItem item = new ConsumableItem("治疗药水");
        System.out.println(item.getName() + ": " + item.describeEffect());
        
        item = new CurrencyItem("宝石", 1000);
        System.out.println(item.getName() + ": " + item.describeEffect());
        
        item = new BoosterItem("力量加成", 2);
        System.out.println(item.getName() + ": " + item.describeEffect());
    }
}

eg 9.5

public class Patient {
    private String patientId;
    private String name;
    private int age;
    private String gender;
    private String address;
    
    public Patient(String patientId, String name, int age, String gender, String address) {
        this.patientId = patientId;
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.address = address;
    }
    
    public String getPatientId() { return patientId; }
    public void setPatientId(String patientId) { this.patientId = patientId; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }
    public String getGender() { return gender; }
    public void setGender(String gender) { this.gender = gender; }
    public String getAddress() { return address; }
    public void setAddress(String address) { this.address = address; }
}

eg 9.5.1

public class MedicalService {
    private String serviceId;
    private String serviceName;
    private String serviceType;
    private String serviceDescription;
    private double servicePrice;
    
    public MedicalService(String serviceId, String serviceName, String serviceType, String serviceDescription, double servicePrice) {
        this.serviceId = serviceId;
        this.serviceName = serviceName;
        this.serviceType = serviceType;
        this.serviceDescription = serviceDescription;
        this.servicePrice = servicePrice;
    }
    // 省略getter和setter方法...
}

eg 9.5.2

public class MedicalService {
    private String serviceName;
    private String serviceDescription;
    
    public MedicalService(String name, String description) {
        this.serviceName = name;
        this.serviceDescription = description;
    }
    
    public String getServiceName() { return serviceName; }
    public String getServiceDescription() { return serviceDescription; }
}

public class MedicalCheckupService extends MedicalService {
    public MedicalCheckupService(String name, String description) {
        super(name, description);
    }
}

public class Example {
    public static void main(String[] args) {
        MedicalService service = new MedicalService("常规检查", "检查患者的基本健康状况");
        MedicalCheckupService checkupService = new MedicalCheckupService("血常规检查", "检查患者的血液样本");
        
        System.out.println("服务名称: " + service.getServiceName());
        System.out.println("服务描述: " + service.getServiceDescription());
        System.out.println("检查服务名称: " + checkupService.getServiceName());
    }
}