写一份JAVA以掌握类的封装方法,学会基本的面向对象程序设计方法,掌握继承和多态、抽象类和接口等重要技术为实验目的的实验报告
时间: 2024-02-25 09:56:53 浏览: 86
实验报告
一、实验目的
本次实验旨在通过掌握类的封装方法、学习基本的面向对象程序设计方法、掌握继承和多态、抽象类和接口等重要技术,提高学生的Java编程能力和面向对象设计思维,从而能够熟练运用Java语言进行面向对象程序设计。
二、实验环境
1. 开发环境:Eclipse 4.9.0
2. Java版本:jdk1.8.0_191
三、实验内容
本次实验主要包括以下内容:
1. 学习类的封装方法,掌握如何定义类和使用public、private、protected等关键字来控制类的访问权限。
2. 学习基本的面向对象程序设计方法,掌握如何定义类的属性和方法,以及如何实例化类对象和调用对象的方法。
3. 掌握继承和多态的基本概念和使用方法,了解子类和父类之间的关系,掌握方法重载和方法覆盖的区别和使用。
4. 学习抽象类和接口的基本概念和使用方法,掌握抽象类和接口的定义和继承关系,了解抽象类和接口的作用和使用场景。
四、实验步骤
1. 定义一个Person类,包括属性name、age和gender,以及方法setName()、setAge()、setGender()和toString(),其中toString()方法用于返回Person对象的字符串表示形式。
```java
public class Person {
private String name;
private int age;
private String gender;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setGender(String gender) {
this.gender = gender;
}
public String toString() {
return "Name: " + name + ", Age: " + age + ", Gender: " + gender;
}
}
```
2. 定义一个Student类,继承自Person类,包括属性id和score,以及方法setId()、setScore()和toString(),其中toString()方法覆盖了父类的toString()方法,增加了id和score属性的输出。
```java
public class Student extends Person {
private String id;
private double score;
public void setId(String id) {
this.id = id;
}
public void setScore(double score) {
this.score = score;
}
public String toString() {
return super.toString() + ", Id: " + id + ", Score: " + score;
}
}
```
3. 定义一个Animal接口,包括方法eat()和move()。
```java
public interface Animal {
public void eat();
public void move();
}
```
4. 定义一个Cat类,实现Animal接口,包括属性name和age,以及方法eat()和move(),其中eat()方法输出"Cat is eating",move()方法输出"Cat is moving"。
```java
public class Cat implements Animal {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void eat() {
System.out.println("Cat is eating");
}
public void move() {
System.out.println("Cat is moving");
}
}
```
五、实验结果
1. 使用Person类创建一个person对象,并设置其属性值,然后调用toString()方法输出结果如下:
```java
Person person = new Person();
person.setName("Tom");
person.setAge(20);
person.setGender("Male");
System.out.println(person.toString());
```
输出结果为:
```
Name: Tom, Age: 20, Gender: Male
```
2. 使用Student类创建一个student对象,并设置其属性值,然后调用toString()方法输出结果如下:
```java
Student student = new Student();
student.setName("Alice");
student.setAge(18);
student.setGender("Female");
student.setId("20210001");
student.setScore(90.0);
System.out.println(student.toString());
```
输出结果为:
```
Name: Alice, Age: 18, Gender: Female, Id: 20210001, Score: 90.0
```
3. 使用Cat类创建一个cat对象,并设置其属性值,然后调用eat()和move()方法输出结果如下:
```java
Cat cat = new Cat();
cat.setName("Kitty");
cat.setAge(2);
cat.eat();
cat.move();
```
输出结果为:
```
Cat is eating
Cat is moving
```
六、实验总结
本次实验通过学习类的封装方法、基本的面向对象程序设计方法、继承和多态、抽象类和接口等重要技术,提高了我对Java编程语言的理解和应用能力。通过实验,我深刻认识到面向对象编程思想的重要性和优越性,掌握了面向对象程序设计的基本方法和技术,能够熟练运用Java语言进行面向对象程序设计。在今后的学习和工作中,我将继续加强对Java编程语言的学习和应用,不断提高自己的编程能力和创新能力。
阅读全文