logo

Educoder/头歌JAVA——JAVA面向对象:封装、继承和多态的综合练习

作者:4042024.01.17 11:29浏览量:35

简介:本文将通过一个综合练习,介绍Java面向对象编程中的封装、继承和多态的概念,以及它们在实际开发中的应用。我们将通过一个简单的项目,演示如何使用这些概念来设计和实现一个Java程序。

在Java中,面向对象编程(OOP)是核心概念之一,其中包括封装、继承和多态等关键特性。这些特性有助于我们编写更清晰、更可维护的代码。接下来,我们将通过一个综合练习来深入理解这些概念。
假设我们要设计一个简单的程序,用于管理学生和课程的信息。我们将使用面向对象编程的思想来实现这个程序。
封装
首先,我们来实现封装。封装是指将对象的属性和方法组合在一起,并隐藏对象的内部细节。这样可以使代码更加模块化,并且可以控制对对象内部状态的访问。
我们可以创建一个Student类来表示学生信息。Student类应该包含学生的姓名、学号和成绩等属性,以及一些方法来设置和获取这些属性的值。

  1. public class Student {
  2. private String name;
  3. private String id;
  4. private int score;
  5. public Student(String name, String id, int score) {
  6. this.name = name;
  7. this.id = id;
  8. this.score = score;
  9. }
  10. public String getName() {
  11. return name;
  12. }
  13. public String getId() {
  14. return id;
  15. }
  16. public int getScore() {
  17. return score;
  18. }
  19. }

在上面的代码中,我们使用private关键字将属性nameidscore封装在Student类中,并通过构造函数和访问器方法进行设置和获取。这样,外部代码无法直接访问这些属性,只能通过Student类提供的方法来操作。这种封装方式有助于保护数据的完整性和安全性。
继承
接下来,我们来实现继承。继承是面向对象编程中的另一个重要概念,它允许我们创建一个新类(子类),该新类继承了另一个类(父类)的属性和方法。子类可以扩展父类的功能,也可以重写父类的方法。
我们可以创建一个Course类来表示课程信息,并让Course类继承自Student类。这样,我们可以利用已经定义好的Student类的属性和方法,同时添加课程相关的属性和方法。

  1. public class Course extends Student {
  2. private String courseName;
  3. private int credit;
  4. public Course(String name, String id, int score, String courseName, int credit) {
  5. super(name, id, score); // 调用父类的构造函数
  6. this.courseName = courseName;
  7. this.credit = credit;
  8. }
  9. public String getCourseName() {
  10. return courseName;
  11. }
  12. public int getCredit() {
  13. return credit;
  14. }
  15. }

在上面的代码中,我们使用extends关键字让Course类继承自Student类。这样,Course类就拥有了父类Student的所有属性和方法,同时还可以添加自己的属性和方法。通过继承,我们可以更有效地组织和管理代码,避免了重复的代码编写。
多态

  1. public interface Shape {
  2. void draw();
  3. }

相关文章推荐

发表评论

活动