• Java21


    一、继续写代码

    21.1 复数类

    1、声明一个复数类Complex(类私有数据成员为double型的real和image)

    2、定义构造函数,用于指定复数的实部与虚部。

    3、定义取反成员函数,调用时能返回该复数的相反数(实部、虚部分别是原数的相反数)。

    4、定义成员函数Print(),调用该函数时,以格式(real, image)输出当前对象。

    5、编写加法友元函数,以复数对象c1,c2为参数,求两个复数对象相加之和。

    6、主程序实现:

    (1)读入两个实数,用于初始化对象c1。

    (2)读入两个实数,用于初始化对象c2。

    (3)计算c1与c2相加结果,并输出。

    (4)计算c2的相反数与c1相加结果,并输出。

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

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

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

    Java实现多继承:在java中,原则上是不允许多继承的,也就是类与类之间只可以单继承。
    那么,有没有办法,可以在不使用接口的情况下实现多继承呢?  答案是可以。
    使用内部类就可以多继承,严格来说,还不是实现多继承,但是这种方法可以实现多继承所需的功能,所以把它称为实现了多继承。

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

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

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

    21.4学生具有姓名,班级,学号等属性,有上课等行为;教师具有工号,工资等属性,有教课等行为;助教既是学生,又是老师,具有学生和老师的双重属性。

    21.5编写动物类animal,受保护数据成员name(名称,string),age(年龄,int),公有函数成员void show(),输出“Animal, 名称, 年龄”;公有派生鱼类fish和兽类beast,鱼类增加受保护数据成员velocity(速度,int),公有函数成员void show(),输出“Fish, 名称, 年龄, 速度”;兽类增加受保护数据成员appetite(食量,int),公有函数成员void show(),输出“Beast, 名称, 年龄, 食量”;鱼类和兽类再公有派生两栖动物类amphibious,无添加数据成员,有公有函数成员void show(),输出 “Fish, 名称, 年龄, 速度”(第一行),“Beast, 名称, 年龄, 食量”(第二行)。每个类均有一个构造函数用于设置该类所有数据成员的属性值。

    二、问题

    暂无

    三、明日继续做题

  • 相关阅读:
    ld: symbol(s) not found for architecture arm64
    一个好玩的命令
    统计代码行数命令
    【转】 C语言自增自减运算符深入剖析
    gcc 生成动态库时-fpic选项是什么意思。
    每天一条linux命令——halt
    每天一条linux命令——shutdown
    推荐一些编程学习的网站
    每天一条linux命令——login
    linux如何开机以命令行形式启动?
  • 原文地址:https://www.cnblogs.com/zyljal/p/13382993.html
Copyright © 2020-2023  润新知