24/03/26总结

news2025/1/8 4:49:34

面向对象练习题:(封装,继承,多态)

封装:对象代表什么,就得封装对应的数据,并提供数据对应的行为,(把零散的数据和行为封装成一个整体:也就是我们说的对象)
继承:当封装的JavaBean类越来越多时,类里面重复的内容就越来越多,这时我们把同一类事物当中共性的内容都抽取到父类中 在这个结构中上面的是父类,下面的是子类,这就叫做继承
多态:同类型的对象,表现出的不同形态        多态的表现形式:父类类型 对象名称 = 子类对象;

练习要求:

练习思路:

狗和猫同属于一类,可以继承于父类动物(标准JavaBean),共性为年龄,颜色,吃;

猫、狗类(无参,以及父类的构造(super)):方法重写eat,以及写出其他行为

person人单独一类(标准JavaBean):定义好成员变量,以及输出要求的成员方法

测试类输出

package com.itheima.demo6多态test;

public class Animal {
    private int age;
    private String color;

    public Animal() {
    }

    public Animal(int age, String color) {
        this.age = age;
        this.color = color;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public void eat(String something){
        System.out.println("动物在吃"+something);
    }
}
package com.itheima.demo6多态test;

public class Cat extends Animal{
    @Override
    public void eat(String something) {
        System.out.println("猫在吃"+something);
    }

    public Cat() {
    }

    public Cat(int age, String color) {
        super(age, color);
    }

    public void catchMouse(){
        System.out.println("猫在抓老鼠");
    }
}
package com.itheima.demo6多态test;

public class Dog extends Animal{
    @Override
    public void eat(String something) {
        System.out.println("狗在吃"+something);
    }

    public Dog() {
    }

    public Dog(int age, String color) {
        super(age, color);
    }

    public void lookHome(){
        System.out.println("狗在看家");
    }

}
package com.itheima.demo6多态test;

public class Person {
    int age;
    String name;

    public Person(int age, String name) {
        this.age = age;
        this.name = name;
    }

    public Person() {
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void keepPet(Animal a, String something){
        System.out.println("年龄为"+this.age+"岁的"+this.name+"养了一只"+ a.getColor()+"的动物");
        a.eat(something);
    }

}
package com.itheima.demo6多态test;

public class test {
    public static void main(String[] args) {
        Dog dg=new Dog(3,"黑色");
        Cat ct=new Cat(4,"灰色");
        Person p1 = new Person(23,"张三");
        Person p2 = new Person(33,"李四");
        p1.keepPet(dg,"骨头");
        p2.keepPet(ct,"鱼");
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1546992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java编程练习之类的多态

类的多态可以从两方面体现:一是方法的重载,二是类的上下转型。 1)方法的重载 方法的重载就是在同一个类中允许同时存在多个同名方法,只要这些方法的参数个数或类型不同即可。 练习1: 使用方法的重载描述所有的超市…

分治——快速排序算法

例题一 解法(快排思想 - 三指针法使数组分三块): 算法思路: 类⽐数组分两块的算法思想,这⾥是将数组分成三块,那么我们可以再添加⼀个指针,实现数组分 三块。 设数组⼤⼩为 n &#xff0c…

快速了解LED开关电源的常见故障及如何解决

LED开关电源应用广泛,在我们的生活和工作中无处不在。然而在LED开关电源的实际使用中会出现一些问题和故障,可能会造成电源和LED灯受损。本文纳米软件将为大家介绍常见的LED开关电源的故障以及解决方法。 1. 输出电流不稳定 LED开关电源输出电流不稳定通…

Nuxt2:node-sass替换为sass,避免因依赖python导致Can‘t find Python executable “python“错误

一、问题描述 由于node-sass依赖于python,在缺少python环境时,会报以下错误: npm ERR! gyp ERR! stack Error: Cant find Python executable "python", you can set the PYTHON env variable.当服务器环境不想安装python或者不方…

Vitis报错:fatal error: xxx.h: No such file or directory.

在跑vitis工程文件时出现fatal error: xxx.h: No such file or directory.的错误,出现这种情况的主要是出现在大家用了自定义IP。 记住如果时出现Makefile出现错误,并不是你的代码问题而是软件bug,我们需要更改一些文件才能正常跑。 讲解一下…

如何快速下载GEO数据并获取其表达矩阵与临床信息 | 附完整代码 + 注释

GEO数据库可以说是大家使用频率贼高的数据库啦!那它里面的数据怎么下载大家知道嘛!今天给大家展示一种快速获取它的表达矩阵和临床信息的方法! 话不多说!咱们直接开始! GEO编号获取 在GEO数据库中,你找到…

水牛社:宝妈副业,不仅赚钱更成长:一段充实之旅

大家好!作为一名90后的全职宝妈,今天非常荣幸能够与大家分享我的互联网赚钱经验。趁着宝宝午睡的宝贵时光,我抓紧写下了这篇文章,虽时间紧凑,但我会力求内容清晰明了。 大约从2022年4月开始,我踏上了互联网…

【Node.js】定时任务

Cron表达式 Cron表达式是用于表示定时任务的一种语法。它由6个字段组成,按顺序分别表示分、时、日、月、周几和年份。 * * * * * * ┬ ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ └── 星期…

【智能算法】蛇优化算法(SO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2022年,FA Hashim等人受到蛇特殊交配行为启发,提出了蛇优化算法(Snake Optimizer, SO)。 2.算法原理 2.1算法思想 SO算法模拟蛇类的战斗与交配模式…

社会实践 | 暑期社会实践投稿攻略,凤凰网等(央媒/官媒)投稿入口,不同频道发稿详细报价

作为媒体行业的从业者,我们都清楚凤凰网等央媒/官媒的影响力和号召力。如果能在这些平台上发表文章,不仅可以增加个人影响力,还有利于传播自己的观点和思想。然而,很多人可能不知道如何才能在这些媒体上投稿。今天,我要…

错误记录

Packet for query is too large 错误原因 一般是没有修改Mysql允许传输的最大数据包大小,使用 SHOW VARIABLES LIKE %max_allowed_packet%;可以看到默认的大小,一般默认为1M。 处理方法 暂时修改:重启mysql后失效 --修改为10M set global…

鸿蒙开发实例:【demo-搜索历史记录】

图片演示效果: 鸿蒙OS开发更多内容↓点击HarmonyOS与OpenHarmony技术鸿蒙技术文档开发知识更新库gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在这。或mau123789学习,是v喔 代码演示: // 注:当前代码基于宽度为…

开箱即用的中后台管理模版,建议收藏!

公众号:程序员白特,欢迎一起交流学习~ 原文作者:前端充电宝 大家好,我是白特。 今天来推荐几款开箱即用的中后台管理模版! Vue Element Admin vue-element-admin 是一个后台前端解决方案,它基于 vue 和 …

C++ 迭代器与反向迭代器

目录 一,什么是迭代器 1,定义 2,迭代器的设计思维 3,迭代器种类 二,迭代器与容器 1,容器中的迭代器 2,迭代器失效问题 三,迭代器的类型萃取(traits) …

稀碎从零算法笔记Day28-LeetCode:零钱兑换

前言:鸽了好多天了哈哈哈,虽然C站没更但是LC还是坚持刷的,任重道远啊!(可恶的寝室熄灯) 题型:动态规划 链接:322. 零钱兑换 - 力扣(LeetCode) 来源:LeetCode 题目描述…

城市内涝排水系统最新模型:慧天【HTWATER】与SWMM完美耦合

查看原文>>> 城市内涝水文水动力模型:慧天【HTWATER】 【城市内涝水文水动力模型介绍】 慧天排水数字化分析平台针对城市排水系统基础设施数据管理的需求,以及水文、水力及水质模拟对数据的需求,实现了以数据库方式对相应数据的存…

静态资源动态访问的细节补充import()与new URL

教学视频的补充 静态资源的动态访问【渡一教育】_哔哩哔哩_bilibili import里若用引号拼接,那么打包结果不会有图片 细节1:得用es6的反单引号才可以 细节2:不能以变量结尾 var p 12 //错误import(./assets/ p .jpg).then(res > {console.log(res, res);}) //正确var p…

201812 CSP认证 | CIDR合并

CIDR合并 难是真的不难但是也写了我几个小时服了 这道题在有计网的基础上就很好理解了&#xff0c;没有在格式上有任何刁难你的。这里不讲背景了 官网提交结果以及满分代码如下&#xff1a; #include<bits/stdc.h> using namespace std; typedef long long ll; typedef…

Qt Design Studio 软件怎么用(详细+通俗+有趣)

建议&#xff1a;本文长期更新&#xff0c;建议点赞/收藏&#xff01; 1. 啥是Qt Design Studio&#xff1f; Qt Design Studio 是一个用于设计和开发用户界面的工具&#xff0c;特别适合开发跨平台应用程序。它结合了UI设计和开发的工作流程&#xff0c;使得设计师和开发者可…

​奶茶店小程序有哪些功能

​奶茶店作为饮品行业的一种热门经营模式&#xff0c;拥有自己的小程序可以带来诸多便利和增长机会。在这篇文章中&#xff0c;我们将探讨奶茶店小程序应该具备的功能&#xff0c;以满足消费者的需求&#xff0c;提升店铺的运营效率和用户体验。 1. **在线订购功能**&#xff…