10.java基础----继承、抽象类- 编程

这篇博客探讨了Java编程中的继承概念,通过设计电器销售公司的电器类及其子类冰箱、洗衣机、电视机,展示了如何抽取出父类并实现继承。此外,还涉及到了动物园信息管理系统中的动物类继承层次结构设计。接着,博客讲解了封装和抽象类的应用,通过员工、经理、职员的类设计,以及黄瓜、茄子等果蔬类的继承结构,强调了如何利用继承实现功能复用和类的层次划分。
摘要由CSDN通过智能技术生成


命名要求:
	1. 类名,接口名,枚举名,注解名使用大驼峰
	2. 变量名,方法名,包名均使用小驼峰
	3. 常量名全大写,多个单词下划线分割
	4. 名字要见名知意,如果不知道对应的英文,可以使用拼音代替。不可使用无意义字符
  
代码规范:
	格式要良好,使用IDEA格式化缩进(快捷键:Ctrl+Alt+L)
  
答题规范:
	1. 每道题完整代码请贴入对应题目中的代码区。
    2. 如果有运行结果的,请把代码运行结果放到文档中

【继承】

题目1

我们计划为一个电器销售公司制作一套系统,公司的主要业务是销售一些家用电器,例如:电冰箱、洗衣机、电视机产品。

类的设计为:

冰箱类
	属性:品牌、型号、颜色、售价、门款式、制冷方式

洗衣机类
	属性:品牌、型号、颜色、售价、电机类型、洗涤容量

电视类
	属性:品牌、型号、颜色、售价、屏幕尺寸、分辨率

要求:

请根据上述类的设计,抽取父类“电器类”,并代码实现父类“电器类”、子类“冰箱类”,“洗衣机类”、“电视类”

答题:

package com.china.day010;

public class Test01 {
   

    public static void main(String[] args) {
   

    }
}


class ElectricAppliance
{
   
    String brand;
    int  type;
    String color;
    int price;

}

class  Refrigerator  extends ElectricAppliance
{
   
    String designOfDoor;
    String refrigeratingMode;

}
class WashingMachine extends  ElectricAppliance
{
   
    String televisonType;
    int washingCapacity;
}
class Television extends  ElectricAppliance
{
   
   String screenSize;
    int resolution;
}

题目2

我们计划为一个动物园制作一套信息管理系统,根据与甲方沟通,我们归纳了有以下几种动物需要记录到系统中:

鸟类:		 鹦鹉、猫头鹰、喜鹊
哺乳类:	大象、狼、长颈鹿
爬行类:	鳄鱼、蛇、乌龟

要求:

请根据以上需求,使用“继承”设计出三层的类结构

|--动物类
    |--鸟类:
        |--鹦鹉类
        |--猫头鹰类
        |--喜鹊类
  
    |--哺乳类:
        |--大象类
        |--狼类
        |--长颈鹿类
  
    |--爬行类:
        |--鳄鱼类
        |--蛇类
        |--乌龟类

作为父类的类都应该定义一些共性内容,每种子类也都有一些特定的内容。 重点是类的层次结构,类成员简单表示即可。

答案:

package com.china.day010;

public class Test02 {
   
    public static void main(String[] args) {
   

    }
}
/*鸟类*/
class Bird
{
   
    String claw;//爪子
    String beak;//鸟的喙
    public void fly()
    {
   
        System.out.println("鸟会飞");
    }

}
 class Parrot extends  Bird
{
   
    public void peck()
    {
   
        System.out.println("啄木鸟卓木头");
    }
}
class Owl extends  Bird
{
   
    public void catchMice()
    {
   
        System.out.println("猫头鹰捕捉老鼠");
    }
}

class Magpie extends  Bird
{
   
    public void yell()
    {
   
        System.out.println("喜鹊叫");
    }
}



/*哺乳类*/
class Mamamalia{
   
    String fur;
    public void lactation()
    {
   }
}
class Elephant extends Mamamalia{
   
    String longNose;
}
class Wolf extends Mamamalia{
   
    String sharpTeeth;//锋利的牙齿
    public void cry()
    {
   
        System.out.println("狼吼叫");
    }
}
class Giraffe extends  Mamamalia{
   
    String longLegs;//长腿
    String  longNeck;//长脖子
}


/*爬行类*/
class Crawl{
   

    public  void crawl()
    {
   
        System.out.println("爬行类会爬行");
    }
}
class Crocodile extends Crawl{
   
   public void changeTemperature()
   {
   
       System.out.println("改变温度");
   }
}
class Snake extends Crawl{
   
    public  void noLegs()
    {
   
        System.out.println("t蛇类没有四肢");
    }
}
class Turtle extends Crawl{
   
    public void solwlyCrawl()
    {
   
        System.out.println("乌龟爬行的慢");
    }
}

【封装,继承,抽象类】

题目3

将以下描述信息转换为java代码,实现打印结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-knMyql0W-1647526064264)(imgs/wps333E.tmp.jpg)]

1、定义员工Employee类,该类具有如下成员:

(1) 属性:姓名(name,字符串类型),工号(workId,字符串类型),部门(dept,字符串类型),属性私有
(2) 方法:
		1. 空参数构造和满参数构造
		2. 提供属性的set/get方法
		3. 定义showMsg方法抽象方法

2、定义经理Manager类继承Employee类,该类具有如下成员:

(1) 属性:职员Clerk(该经理的职员)
(2) 方法:
		1. 空参数构造方法和满参数构造方法
		2. 属性的get和set方法
		3. 重写父类的showMsg方法,按照要求实现信息打印

3、定义职员Clerk类继承Employee类,该类具有如下成员:

(1) 属性:经理Manager(该职员的经理)
(2) 方法:
		1. 空参数构造方法和满参数构造方法
		2. 属性的get和set方法
		3. 重写父类的showMsg方法,按照要求实现信息打印

4、创建Test测试类,测试类中创建main方法,main方法中创建经理对象和职员对象,信息分别如下:

经理:工号为 M001,名字为 张小强,部门为 销售部
职员:工号为 C001,名字为 李小亮,部门为 销售部 

经理的职员为李小亮,职员的经理为张小强

分别调用经理的showMsg方法和职员的showMsg方法打印结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xXUYsu7Y-1647526064267)(imgs/wps333E.tmp.jpg)]

答案:

package com.china.day010;

public class Test {
   
    public static void main(String[] args) {
   
        //Clerk cl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值