作者:阮晓龙发布时间:2024/9/13 13:16:33
基本信息:
章节名称:智能医学工程专业-计算机程序设计-第09章-类与对象
授课教师:信息技术学院互联网技术教学团队
完成时间:2024年09月
适用年级:2023级
适用专业:智能医学工程
文档内容:
讲稿课件(教学版):智能医学工程-计算机程序设计-课件-第09章-类与对象-教学版.pdf
讲稿课件(笔记版):智能医学工程-计算机程序设计-课件-第09章-类与对象-笔记版.pdf
讲稿课件(在线版):
学习资源:
代码:eg9.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 person = new Person(); // 设置属性 person.name = "Alice";//直接访问成员变量? person.age = 30;//直接访问成员变量? // 调用方法 person.speak(); } }
代码:eg9.1.1
public class Dog { String breed; int size; String colour; int age; void eat() { } void run() { } void sleep(){ } }
代码:eg9.1.1-2
public class Puppy{ public Puppy(){ // 这个构造器没有参数 } public Puppy(String name){ // 这个构造器仅有一个参数:name } }
代码:eg9.1.1-3
public class Puppy{ public Puppy(String name){ //这个构造器仅有一个参数:name System.out.println("小狗的名字是 : " + name ); } public static void main(String[] args){ // 下面的语句将创建一个Puppy对象 Puppy myPuppy = new Puppy( "tommy" ); } }
代码:eg9.1.1-4
public class Puppy { private int age; private String name; // 构造器 public Puppy(String name) { this.name = name; System.out.println("小狗的名字是 : " + name); } // 设置 age 的值 public void setAge(int age) { this.age = age; } // 获取 age 的值 public int getAge() { return age; } // 获取 name 的值 public String getName() { return name; } // 主方法 public static void main(String[] args) { // 创建对象 Puppy myPuppy = new Puppy("Tommy"); // 通过方法来设定 age myPuppy.setAge(2); // 调用另一个方法获取 age int age = myPuppy.getAge(); System.out.println("小狗的年龄为 : " + age); // 也可以直接访问成员变量(通过 getter 方法) System.out.println("变量值 : " + myPuppy.getAge()); } }
代码:eg9.1.1-5
import java.io.*; public class Employee { private String name; private int age; private String designation; private double salary; // Employee 类的构造器 public Employee(String name) { this.name = name; } // 设置 age 的值 public void setAge(int age) { this.age = age; } // 获取 age 的值 public int getAge() { return age; } // 设置 designation 的值 public void setDesignation(String designation) { this.designation = designation; } // 获取 designation 的值 public String getDesignation() { return designation; } // 设置 salary 的值 public void setSalary(double salary) { this.salary = salary; } // 获取 salary 的值 public double getSalary() { return salary; } // 打印信息 public void printEmployee() { System.out.println(this); } // 重写 toString 方法 @Override public String toString() { return "名字: " + name + "\n" + "年龄: " + age + "\n" + "职位: " + designation + "\n" + "薪水: " + salary; } }
代码: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(); } } //Employee //...... //......
代码:eg9.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.assertEquals; //我们引入了junit 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()); } //我们还可以使用main //... }
代码:eg9.2.1
// 功能接口定义 public interface Feature { void execute(); } // 功能实现类A public class FeatureA implements Feature { @Override public void execute() { // 实现具体功能 System.out.println("Feature A is executed."); } } // 功能实现类B public class FeatureB implements Feature { @Override public void execute() { // 实现具体功能 System.out.println("Feature B is executed."); } } // 系统架构类 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(); } }
代码:eg9.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(); } }
代码:eg9.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."); } } // 使用Person类创建一个对象并调用其方法 public class Main { public static void main(String[] args) { Person person = new Person("Alice", 30); // 创建Person对象 person.introduce(); // 调用对象的方法 } }
代码:eg9.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()); } }
代码:eg9.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; } // Getter和Setter方法 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; } // 可以添加更多的病患相关信息和方法 }
代码:eg9.5.1
public class MedicalService { private String serviceId; // 服务ID 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方法... }
代码:eg9.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()); // 添加其他检查服务的描述或属性 } }
软件资源: