欢迎光临
我们一直在努力

Java面向对象基础(一):

设计五个不同的类,每个类包含五个属性和三个方法。然后创建对象并给属性赋值,演示方法调用。

1. 学生类 (Student)

· 属性:姓名(name)、年龄(age)、学号(student_id)、年级(grade)、成绩(score)
· 方法:学习(study)、考试(take_exam)、自我介绍(introduce)

2. 汽车类 (Car)

· 属性:品牌(brand)、型号(model)、颜色(color)、速度(speed)、价格(price)
· 方法:加速(accelerate)、刹车(brake)、显示信息(display_info)

3. 书籍类 (Book)

· 属性:书名(title)、作者(author)、ISBN(isbn)、价格(price)、出版社(publisher)
· 方法:阅读(read)、获取信息(get_info)、打折(discount)

4. 银行账户类 (BankAccount)

· 属性:账户名(account_name)、账号(account_number)、余额(balance)、利率(interest_rate)、开户日期(open_date)
· 方法:存款(deposit)、取款(withdraw)、查询余额(check_balance)

5. 员工类 (Employee)

· 属性:姓名(name)、员工ID(emp_id)、部门(department)、工资(salary)、入职日期(hire_date)
· 方法:工作(work)、加薪(raise_salary)、显示信息(show_info)

思路分析:
  • 设计一个类,包含五个属性和三个方法

  • 构造方法

    • 作用:创建学生对象时,为对象绑定初始属性值。

    • 逻辑:接收name、age、student_id、grade、score5 个参数,通过self.属性名 = 参数的方式,将参数赋值给对象的实例属性,确保每个学生对象都有专属的属性值。

  • study () 方法

    • 作用:模拟学生学习行为,且体现 “学习能提升成绩” 的现实逻辑。

    • 逻辑:

      • 接收hours(学习时长)参数;

      • 对self.score(当前成绩)进行修改:self.score += hours * 0.5(每学习 1 小时,成绩加 0.5 分);

      • 打印学习结果

  • take_exam () 方法

    • 作用:模拟学生参加考试的行为,输出考试相关信息。

    • 逻辑:

      • 接收exam_subject(考试科目)参数;

      • 结合self.name(学生姓名)和self.score(当前成绩),格式化打印考试结果

  • introduce () 方法

    • 作用:让学生对象 “自我介绍”,整合所有属性信息输出。

  • 对象创建与调用(主程序)
  • 作用:验证类的设计是否可行,演示对象的使用方式。

  • 逻辑:

    • 用Student("张三", 15, "S2026001", 9, 85.0)创建具体的学生对象

    • 依次调用introduce()(展示初始信息)、study(4)(模拟学习,修改成绩)、take_exam("数学")(展示考试信息),验证每个方法的功能。

代码:

public class Book {
String title;
String author;
String isbn;
double price;
String publisher;

public void read(){
System.out.println("正在阅读" + title + "," + "作者是" + author);
}
public void get_info(){
System.out.println("书名:" + title + "," + "出版社:" + publisher + "价格:" + price);
}
public void discount(){
price *= 0.8;
System.out.println(title + "打八折" + "折后的价格是:" + price);
}
}

public class BookTest {
public static void main(String[] args) {
Book b = new Book();
b.title ="《java入门》";
b.author = "小明";
b.isbn = "编程出版社";
b.price = 50;
b.isbn = "123456";
b.discount();
b.get_info();
b.read();
}
}

public class BrankAccount {
String account_name;
String account_number;
double balance;
double interest_rate;
String open_date;
public void deposit(double money){
if (money > 0) {
balance += money;
System.out.println(account_name + "存款" + money + "元,当前余额:" + balance + "元");
} else {
System.out.println("存款金额必须大于0!");
}
}
public void withdraw(double money) {
if (money <= 0) {
System.out.println("取款金额必须大于0!");
} else if (money > balance) {
System.out.println(account_name + "取款失败!余额不足,当前余额:" + balance + "元");
} else {
balance -= money;
System.out.println(account_name + "取款" + money + "元,当前余额:" + balance + "元");
}
}
public void check_balance() {
System.out.println("===== 账户信息 =====");
System.out.println("账户名:" + account_name);
System.out.println("账号:" + account_number);
System.out.println("当前余额:" + balance + "元");
System.out.println("年利率:" + interest_rate + "%");
System.out.println("开户日期:" + open_date);
}

}

public class BrankAccountTest {
public static void main(String[] args) {
BrankAccount b = new BrankAccount();
b.account_name="小明";
b.account_number = "62226272861628";
b.balance = 1000000;
b.open_date = "2025-01-10";
b.interest_rate = 1.5;

b.check_balance();
b.deposit(2000);
b.withdraw(20000);
b.check_balance();
}
}

public class Car {
String brand;
String model;
String color;
double speed;
double price;

public void display_info(){
System.out.println("这辆" + color + "的" + brand + model + "的价格是" + price + " 元");
}
public void accelerate(){
speed += 20;
System.out.println("这辆" + brand + model + "加速后的速度是:" + speed + "m/h");
}
public void brake(){
if (speed < 0) {
speed = 0;
}
speed = speed – 20;
System.out.println("这辆" + brand + model + "减速后的速度是:" + speed + "m/h");
}
}

public class CarTest {
public static void main(String[] args) {
//创建对象
Car c = new Car();
//赋值
c.brand = "特斯拉";
c.color = "黑色";
c.model = "3";
c.price = 250000;
c.speed = 80;

//调用方法
c.accelerate();
c.brake();
c.display_info();
}
}

public class Employee {
String name;
String emp_id;
String department;
double salary;
String hire_date;
public void work() {
System.out.println(name + "ID:" + emp_id + ",正在" + department + "部门工作");
}

public void raise_salary(double addMoney) {
if (addMoney >= 0) {
salary += addMoney;
System.out.println(name + "加薪" + addMoney + "元,当前工资:" + salary + "元/月");
} else {
System.out.println("加薪金额不能为负数");
}
}
}

public class EmployeeTest {
public static void main(String[] args) {
Employee e = new Employee();

e.name = "小明";
e.emp_id = "E001";
e.department = "研发部";
e.salary = 15000.0;
e.hire_date = "2026-03-01";

e.work();
e.raise_salary(1000);

}
}

public class Student {
String name;
int age;
String student_id;
String grade;
double score;

public void study(){
System.out.println(name + "正在学习");
}
public void take_exam(){
System.out.println(name + "的" + "学号是" + student_id + "," + "考试成绩是:" + score);
}
public void introduce(){
System.out.println("大家好,我叫"+name + "今年" + age + "岁," + "现在读" + grade);
}
}

public class studentTest {
public static void main(String[] args) {
//创建对象
Student s = new Student();
//给属性赋值
s.name = "小明";
s.age = 20;
s.score = 100;
s.student_id ="002";
s.grade = "高三";
//调用方法
s.study();
s.introduce();
s.take_exam();
}
}

赞(0)
未经允许不得转载:171主机测评 » Java面向对象基础(一):
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址