6-2 Person类2 (20 分)

在Person类的基础上,添加一个带参数的构造函数,参数分别为姓名,性别,年龄,提供print函数打印其信息

输入描述:

操作

输出描述:

用户信息

裁判测试程序样例:

import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
         Scanner scan = new Scanner(System.in);      
         String name = scan.next();      
         String sex = scan.next();      
         int age = scan.nextInt();
         Person p = new Person(name,sex,age);
         p.print();
         scan.close(); 
    }
}

/* 你的代码被嵌在这里*/

输入样例:

在这里给出一组输入。例如:

Lucy male 23

输出样例:

在这里给出相应的输出。例如:

name:Lucy; sex:male; age:23

代码示例:

class Person
{
    private  String  name;
    private  String  sex;
    private  int  age;
    public Person(){}
    public Person(String _name,String _sex,int _age)
    {
        this.name=_name;
        this.sex=_sex;
        this.age=_age;
    }
    public void  setName(String _name)
    {
        this.name=_name;
    }
    public void  setSex(String _sex)
    {
        this.sex=_sex;
    }
    public void  setAge(int _age)
    {
        this.age=_age;
    }

    public void print()
    {
        System.out.print("name:"+this.name+"; sex:"+this.sex+"; age:"+this.age);
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在面向对象编程中,继承和多态是两个非常重要的概念。继承可以让一个继承另一个的属性和方法,从而减少代码的重复性,提高代码的可维护性和可扩展性。而多态则是指同一种类型的对象,在不同的情况下可以呈现出不同的行为。 以人员和学生为例,人员是一个基础,学生是一个派生。学生继承了人员的一些属性和方法,如姓名、年龄、性别等,同时还有自己的属性和方法,如学号、班级、成绩等。 在多态方面,可以定义一个函数,这个函数的参数是一个人员对象,但是实际传入的可以是一个学生对象。由于学生对象继承了人员对象,所以可以调用这个函数,并且可以根据不同的情况呈现不同的行为,比如输出学生的学号和成绩。 下面是一个示例代码: ``` class Person: def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender class Student(Person): def __init__(self, name, age, gender, student_id, grade): super().__init__(name, age, gender) self.student_id = student_id self.grade = grade def get_info(self): print("Name:", self.name) print("Age:", self.age) print("Gender:", self.gender) print("Student ID:", self.student_id) print("Grade:", self.grade) def print_person_info(person): print("Name:", person.name) print("Age:", person.age) print("Gender:", person.gender) person1 = Person("Jack", 25, "Male") student1 = Student("Alice", 20, "Female", "20210001", 90) print_person_info(person1) print_person_info(student1) student1.get_info() ``` 输出结果为: ``` Name: Jack Age: 25 Gender: Male Name: Alice Age: 20 Gender: Female Name: Alice Age: 20 Gender: Female Student ID: 20210001 Grade: 90 ``` 可以看到,我们定义了一个函数`print_person_info`,这个函数的参数是一个人员对象`person`。我们首先创建了一个人员对象`person1`和一个学生对象`student1`,然后别调用`print_person_info`函数打印它们的姓名、年龄和性别。由于学生对象继承了人员对象,所以可以传入学生对象作为参数,并且可以正确地打印出它的姓名、年龄和性别。 接着,我们调用了学生对象的方法`get_info`,这个方法输出了学生的姓名、年龄、性别、学号和成绩。这里就展现了多态的特性,同一个函数能够处理不同类型的对象,并且呈现出不同的行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值