chapter08-面向对象编程——(chapter08作业)——day10

news2024/9/20 7:46:41

343-作业01

package chapter08.homeworks;

public class Homework01 {
    public static void main(String[] args) {
        /*1.定义一个Person类{name, age, job},初始化Person对象数组,有3个person对象,
        并按照age从大到小进行排序,提示,使用冒泡排序 Homework01.java
         */
        Person[] persons = new Person[3];
        persons[0]=new Person("a",10,"JAVA工程师");
        persons[1]=new Person("b",50,"算法工程师");
        persons[2]=new Person("c",35,"PHP工程师");
        for (int i = 0; i < persons.length; i++) {
            System.out.println(persons[i]);
        }
        Person tmp=null;
        for (int i = 0; i < persons.length-1; i++) {
            for (int j = 0; j < persons.length-1-i; j++) {
                if(persons[j].getAge()<persons[j+1].getAge()){
                    tmp=persons[j];
                    persons[j]=persons[j+1];
                    persons[j+1]=tmp;
                }
            }
        }
        System.out.println("输出排序后,从大到小");
        for (int i = 0; i < persons.length; i++) {
            System.out.println(persons[i]);
        }
    }
}
class Person{
    private String name;
    private int age;
    private String job;

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

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", job='" + job + '\'' +
                '}';
    }
}

344-作业02

345-作业03

package chapter08.homeworks;

public class HomeWork03 {
    public static void main(String[] args) {
        Professor LDY = new Professor("林黛玉", 20, "教授", 15000, 1.1);
        LDY.introduce();

    }
}
class Teacher{
    private String name;
    private int age;
    private String post;
    private double salary;
    private double grade;

    public Teacher(String name, int age, String post, double salary, double grade) {
        this.name = name;
        this.age = age;
        this.post = post;
        this.salary = salary;
        this.grade = grade;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

    public String getPost() {
        return post;
    }

    public void setPost(String post) {
        this.post = post;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    public double getGrade() {
        return grade;
    }

    public void setGrade(double grade) {
        this.grade = grade;
    }


    public void introduce() {
        System.out.println(
                "name='" + name +
                ", age=" + age +
                ", post='" + post +
                ", salary=" + salary +
                ", grade=" + grade
                );
    }
}
package chapter08.homeworks;

public class Professor extends Teacher{
    public Professor(String name, int age, String post, double salary, double grade) {
        super(name, age, post, salary, grade);
    }

    @Override
    public void introduce() {
        System.out.println("这是教师的");
        super.introduce();
    }
}

346-作业04

package chapter08.homeworks;

public class Manager extends Employee{
   private double bonus;

    public Manager(String name, double daySal, int workDays, double grade) {
        super(name, daySal, workDays, grade);

    }

    public double getBonus() {
        return bonus;
    }

    public void setBonus(double bonus) {
        this.bonus = bonus;
    }

    @Override
    public void printSal() {
        System.out.println("经理是"+getName()+" 工资是"+(getDaySal()*getWorkDays()*getGrade()+bonus));
    }
}
package chapter08.homeworks;

public class Manager extends Employee{
   private double bonus;

    public Manager(String name, double daySal, int workDays, double grade) {
        super(name, daySal, workDays, grade);

    }

    public double getBonus() {
        return bonus;
    }

    public void setBonus(double bonus) {
        this.bonus = bonus;
    }

    @Override
    public void printSal() {
        System.out.println("经理是"+getName()+" 工资是"+(getDaySal()*getWorkDays()*getGrade()+bonus));
    }
}

347-作业05

348-作业06

super只可以继承父类的公共属性和方法

this可以访问本类的所有属性和方法,父类的公共属性和方法,本类有的使用就近原则,不去找父类的了

349-作业07

new Demo().test();

编译阶段,new,无参构造,super()输出Test,再输出Demo,

运行阶段,.test(),Rose,Jack

new Demo().test();

编译阶段,设置父类名称,无输出

运行阶段,john,Jack

350-作业08

package chapter08.homeworks;

public class SavingAccount extends BankAccount{
    private int count=3;
    private double rate=0.01;

    public void earnMonthlyInterest(){
        count=3;
        super.deposit(getBalance()*rate);
    }

    @Override
    public void deposit(double amount) {
        if (count>0){
            super.deposit(amount);
            count-=1;
        }else {
            super.deposit(amount-1);
        }
    }

    @Override
    public void withdraw(double amount) {
        if(count>0){
            super.withdraw(amount);
            count-=1;
        }else {
            super.withdraw(amount+1);
        }

    }

    public SavingAccount(double initialBalance) {
        super(initialBalance);
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public double getRate() {
        return rate;
    }

    public void setRate(double rate) {
        this.rate = rate;
    }
}

351-作业09

352-作业10

353-作业11

向上转型,

编译类型是Person,所以只可以用Person的两个方法

运行类型是Student,动态绑定,找子类Student的方法,所以run调的是子类的方法

总结:向上转型,可以调用父类的所有方法,如果父类中有方法和子类重复,用的是子类的,子类中特有的方法不可以调用

向下转型,p编译是person,指向的是Student,现在把编译也转成Student

编译类型是student,可以调用子类的所有方法,继承父类的方法

运行类型是Student,先运行子类中的方法,如果没有就找父类的

354-作业12

355-作业13

作业13有待完善 明日再战,明日早起!

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

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

相关文章

C# UserControl、Dockpanel和DockContent、Cursor、

一、UserControl类 UserControl 是 .NET 中的一个基类&#xff0c;用于创建自定义控件&#xff0c;主要用于 Windows Forms 和 WPF。通过继承 UserControl&#xff0c;你可以设计和实现具有特定界面和功能的控件组件。UserControl 允许你将多个标准控件组合在一起&#xff0c;…

实验室管理小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户信息管理&#xff0c;教学实验管理&#xff0c;学生签到管理&#xff0c;设备信息管理&#xff0c;设备预约管理&#xff0c;课程表管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统…

【Python数据结构与算法】队列----滑动窗口

题目&#xff1a;滑动窗口 描述 给定一个长度为n&#xff08;n<100,000&#xff09;的整数序列。有一个大小为k(0 < k < n)的滑动窗口从数组的最左端移动到最右端。你可以看到窗口中的k个数。窗口每次向右滑动一个数的距离。 下面是一个例子&#xff1a; 数组是 [1 3…

差分约束问题

差分约束 概念及解法一些题目 概念及解法 引用自OI Wiki 差分约束系统是一种特殊的 n 元一次不等式组&#xff0c;它包含 n 个变量 x 1 , x 2 , … , x n x_1,x_2,\dots,x_n x1​,x2​,…,xn​ 以及 m 个约束条件&#xff0c;每个约束条件是由两个其中的变量做差构成的&#x…

内网安装GitLab

内网安装GitLab 为什么安装GitLab GitHub&#xff08;国外&#xff09;和Gitee&#xff08;国内&#xff09;都是第三方托管平台&#xff0c;不能本地部署&#xff0c;对公网开放&#xff0c;代码保密性不高。 为代码保密性&#xff0c;需在内网搭建代码管理平台。有web操作…

Java设计模式之建造者模式详细讲解和案例示范

引言 在软件开发中&#xff0c;创建复杂对象常常伴随着众多参数和配置&#xff0c;这种情况容易导致“构造函数爆炸”或参数混乱的问题。为了解决这一问题&#xff0c;建造者模式&#xff08;Builder Pattern&#xff09;应运而生。它通过分步骤地构建对象&#xff0c;提供了更…

C++编程:高阶编程

本阶段主要针对泛型编程和STL技术作详细讲解。 1 模板 1.1 模板的概念 C提供一种泛型编程&#xff0c;主要利用模板的技术&#xff0c;模板的目的是提高代码复用性&#xff0c;将类型参数化。 C提供两种模板机制&#xff1a; 函数模板类模板 模板的特点&#xff1a; 模板…

实习结束总结20240828

长达两个月的实习终于在今天结束了&#xff0c;不知怎的&#xff0c;心如止水&#xff0c;没有高兴&#xff0c;没有伤心&#xff0c;毫无波澜的内心甚至让自己都感觉可怕&#xff0c;也许&#xff0c;这就是成长吧。 硬件上&#xff1a; 1.cadence需要继续深入学习&#xff…

Transformers for One-Shot Visual Imitation

发表时间&#xff1a;(CoRL 2020&#xff09; 论文链接&#xff1a;https://readpaper.com/pdf-annotate/note?pdfId4546337571360890881&noteId2424798489658874880 作者单位&#xff1a;Carnegie Mellon University, USA Motivation&#xff1a;人类能够通过推断他们…

每日OJ_牛客_年会抽奖(错排问题)

牛客_年会抽奖&#xff08;错排问题&#xff09; 年会抽奖__牛客网 解析代码 该题为经典的错排问题 用A、B、C……表示写着&#xff4e;位友人名字的信封&#xff0c;a、b、c……表示&#xff4e;份相应的写好的信纸。把错装的总数为记作 D(n)。假设把&#xff41;错装进&…

【ubuntu使用笔记】Ubuntu Desktop 访问SMB共享文件夹

Ubuntu Desktop 访问SMB共享文件夹 Ubuntu Desktop 访问SMB共享文件夹文件夹打开 file managerother location输入 IP地址&#xff0c;smb://IP点击connect按钮正常进入 命令行安装客户端连接 Ubuntu Desktop 访问SMB共享文件夹 文件夹 打开 file manager other location 输入…

WATCH, TRY, LEARN: META-LEARNING FROM DEMONSTRATIONS AND REWARDS

&#xff08;感觉有点从失败中学习的意思&#xff09; 发表时间&#xff1a;30 Jan 2020 论文链接&#xff1a;https://readpaper.com/pdf-annotate/note?pdfId4545005537963171841&noteId2453371997770644736 作者单位&#xff1a;UC Berkeley Motivation&#xff1a…

2024年高教社杯全国大学生数学建模竞赛

2024年高教社杯全国大学生数学建模竞赛通知 2024数模比赛确定时间为&#xff1a;9月5日18时至9月8日20时 报名截止日期&#xff1a;9月2日&#xff08;周一&#xff09;20时

使用maven 实现版本覆盖案例4【经典版】

一 原理介绍 1.1 原理逻辑 关系图&#xff1a;从使用方xinxiang_demo中引用A_parent的2.13的版本的层级要比B_Module继承A_parent&#xff1a;1.1 版本的层级要短&#xff0c;优先级更高&#xff0c;所以使用2.13&#xff0c;将B_Module继承A_parent 1.1 版本覆盖。 1.2 实操…

约 数个数

对于一个数 其中&#xff1a;是的各个质因数&#xff0c;上式是的质因数乘积式。 约数个数&#xff1a; 约数之和&#xff1a; step1&#xff1a; 采用分解质因数的方法&#xff0c;计算出的每一个质因数的次数 &#xff08;分解质因数的blog&#xff1a;http://t.csdni…

Kali学习(ms17-010、ms08-067漏洞复现)

目录 一、kali网络设置 NAT模式、桥接上网/仅主机 VMnet0、VMnet1、VMnet8 1.NAT模式 VMnet8 &#xff08;1&#xff09;检查服务 &#xff08;2&#xff09;创建虚拟网卡 &#xff08;3&#xff09;创建kali的网卡信息 &#xff08;4&#xff09;验证 2.桥接模式 VMn…

结果一。5.be doing表将来和 表 will的区别

be doing 表⽰近期、眼下就要发⽣的事情; will 表⽰将来的时间,则较远⼀些。如: He is going to write a letter tonight.He will write a book 。 be going to 表⽰根据主观判断将来肯定发⽣的事情。 will+ 动词原形表⽰⼀般将来时。 will ࿰

如何用Java SpringBoot+Vue打造高效产品订单管理系统?

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…

【C++ Primer Plus习题】6.9

问题: 解答: #include <iostream> #include <string> #include <fstream> using namespace std;typedef struct _Donor {string name;double money; }Donor;int main() {ifstream file;string filename;int count 0;cout << "请输入文件名:&quo…