zoukankan      html  css  js  c++  java
  • 2020.8.22

    一、今日学习内容

    人、学生、教师系统:

      1、人、学生和教师

    设计一个类people,有保护数据成员:age(年龄,整型),name(姓名,string),行为成员:两个构造函数(一个默认,另一个有参数);默认析构函数;void setValue(int m, string str)给age和name赋值;有一个void类型的纯虚函数display()。

    设计一个学生类student,公有继承类people,有私有成员:studentID(学号,整型),行为成员:两个构造函数(一个默认,另一个有参数);默认析构函数;void setID(int m)给studentID赋值;display()函数输出学生的姓名,年龄,学号。

    设计一个教师类teacher,公有继承类people,有私有成员:teacherID(工号,整型),行为成员:两个构造函数(一个默认,另一个有参数);默认析构函数;void setID(int m)给teacherID赋值; display()函数输出教师的姓名,年龄,工号。

    在main函数定义学生对象和教师对象,给对象初始化赋值或调用setValue()和setID()赋值,并输出学生和老师的信息。

    复制代码
     1 //People类:
     2 public abstract class People {
     3     protected int age;
     4     protected String name;
     5     People(){}
     6     People(int a,String n){
     7         age=a;
     8         name=n;
     9     }
    10     public void setValue(int m,String str) {
    11         age=m;
    12         name=str;
    13     }
    14     public abstract void display();
    15 }
    16 //Student类:
    17 public class Student extends People {
    18     private int studentID;
    19     Student(){}
    20     Student(int a,String n,int i){
    21         super(a,n);
    22         studentID=i;
    23     }
    24     public void setID(int m) {
    25         studentID=m;
    26     }
    27     public void display() {
    28         System.out.println("学生:\n"+"姓名:"+name+"\t年龄:"+age+"\t学号:"+studentID);
    29     }
    30 }
    31 //Teacher类:
    32 public class Teacher extends People{
    33     private int teacherID;
    34     Teacher(){}
    35     Teacher(int a,String n,int ti){
    36         super(a,n);
    37         teacherID=ti;
    38     }
    39     public void setID(int m) {
    40         teacherID=m;
    41     }
    42     public void display() {
    43         System.out.println("教师:\n"+"姓名:"+name+"\t年龄:"+age+"\t工号:"+teacherID);
    44     }
    45 }
    46 //Test1类:
    47 public class Test1 {
    48     public static void main(String[] args) {
    49         Student s1=new Student();
    50         s1.setValue(18, "李明");
    51         s1.setID(10010);
    52         s1.display();
    53         Teacher t1=new Teacher();
    54         t1.setValue(43, "John");
    55         t1.setID(20020);
    56         t1.display();
    57     }
    58 }
    复制代码

      2、定义猫科动物Animal类,由其派生出猫类(Cat)和豹类(Leopard),在Animal类中定义虚函数,输出“My name is Animal”,在派生类中分别重新定义该函数,显示“My name is  **”,其中**为各自类名

    复制代码
     1 //Animal类:
     2 public abstract class Animal {
     3     protected String name;
     4     protected int age;
     5     public Animal() {}
     6 }
     7 //Cat类:
     8 public class Cat extends Animal {
     9     Cat(){}
    10     public void display() {
    11         System.out.println("My name is Cat");
    12     }
    13 }
    14 //Leopard类:
    15 public class Leopard extends Animal {
    16     Leopard(){}
    17     public void display() {
    18         System.out.println("My name is Leopard");
    19     }
    20 }
    21 //Test3类:
    22 public class Test3 {
    23     public static void main(String[] args) {
    24         Cat a=new Cat();
    25         Leopard b=new Leopard();
    26         a.display();
    27         b.display();
    28     }
    29 }
    复制代码

    二、遇到的问题

       不清楚abstract关键字的作用。

    三、明日计划

      完成相关例题的验证。

  • 相关阅读:
    [NOI2014]动物园
    2018.7.15模拟赛
    2018.7.13模拟赛
    [CodeForces]920F SUM and REPLACE
    [BZOJ3211]花神游历各国
    [GSS5] Can you answer these queries V
    [SPOJ1716] GSS3
    [HNOI2012]排队
    2018.7.10模拟赛
    7.3模拟赛
  • 原文地址:https://www.cnblogs.com/marr/p/13582878.html
Copyright © 2011-2022 走看看