• 2020.8.20


    一、今日学习内容

      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 }

     

    二、遇到的问题

       对Java中abstract关键字的作用不明白

    三、明日计划

      完成相关例题

  • 相关阅读:
    JS的构造函数
    Wdcp在安装memcached出现错误的解决办法
    mac 下 xampp 多域名 多站点 多虚拟主机 配置
    JS快速获取图片宽高的方法
    全文检索引擎Solr系列——整合MySQL、MongoDB
    php:获取浏览器的版本信息
    css3 media媒体查询器用法总结
    转:利用node压缩、合并js,css,图片
    火车进站
    三角形有向面积
  • 原文地址:https://www.cnblogs.com/wmdww/p/13534842.html
Copyright © 2020-2023  润新知