首页 > 其他分享 >面向对象进阶-认识多态

面向对象进阶-认识多态

时间:2024-10-10 21:19:41浏览次数:9  
标签:进阶 String void 多态 面向对象 denglu public name

2024-10-10,今天的课程比较多,改了很多线下的事情,今天先对多态进行了认识。

什么是多态?

同类型的对象,表现出的不同形态。

多态的表现形式?

父类类型 对象的名称 = new 子类对象();

fu f = new zi();

多态的前提?

1.有继承关系  2.有父类引用指向子类对象  3.有方法重写

多态的好处?

使用父类型作为参数,可以接收所有子类对象,体现多态的扩展性与便利

今天对多态初步的认识,使我对它有了一定的理解,发现以前也在用但是不知道这个是什么意思,为什么这样写,只知道这样写可以复用代码,不用写的那么杂。

下面是对用户注册的代码练习

public class Person {
    private String name;
    private String denglu;

    public Person() {
    }

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

    public String getName() {
        return name;
    }

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

    public String getDenglu() {
        return denglu;
    }

    public void setDenglu(String denglu) {
        this.denglu = denglu;
    }

    public void show(){
        System.out.println(name + " ," + denglu);
    }
}
public class Student extends Person {
    public void show(){
        System.out.println("学生姓名:"+ getName() +" 登陆账号:"+ getDenglu());
    }
}
public class Teacher extends Person {
    public void show(){
        System.out.println("老师姓名:"+ getName() +" 登陆账号:"+ getDenglu());
    }
}
public class Administrator extends Person{
    public void show(){
        System.out.println("管理员姓名:"+ getName() +" 登陆账号:"+ getDenglu());
    }
}
public class Main_Test {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.setName("张三");
        stu.setDenglu("123456");

        Teacher T = new Teacher();
        T.setName("陈老师");
        T.setDenglu("12345678");

        Administrator admin = new Administrator();
        admin.setName("User");
        admin.setDenglu("123456789");

        register(stu);
        register(T);
        register(admin);

    }

    public static void register(Person p) {
        p.show();

    }
}

标签:进阶,String,void,多态,面向对象,denglu,public,name
From: https://blog.csdn.net/m0_71960836/article/details/142832120

相关文章

  • 08 JAVA 继承多态抽象类接口
    1函数题1,super.a来明确访问父类的字段。super(a);表示调用父类的构造函数,并传递参数a2,抽象类继承需要写新的构造器,重写抽象方法classCircleextendsshape{privatedoubleradius;publicCircle(doubleradius){this.radius=radius;}//构......
  • 昇思MindSpore进阶教程--自动数据增强
    大家好,我是刘明,明志科技创始人,华为昇思MindSpore布道师。技术上主攻前端开发、鸿蒙开发和AI算法研究。努力为大家带来持续的技术分享,如果你也喜欢我的文章,就点个关注吧正文开始MindSpore除了可以让用户自定义数据增强的使用,还提供了一种自动数据增强方式,可以基于特定......
  • Vulkan进阶系列0 - Raytracing 基础
    一:概述    Vulkan的光线追踪是一种现代图形技术,用于实现更加逼真的高质量渲染效果。通过使用Vulkan的光线追踪扩展:VK_KHR_ray_tracing_pipeline和VK_KHR_acceleration_structure,程序员可以更加高效的模拟光线的传播,反射和折射,并能够跟踪光线在场景中的传播路径,计......
  • PTA 作业三 继承与多态 JAVA 6-1 从抽象类shape类扩展出一个圆形类Circle 面向对象程
    6-1从抽象类shape类扩展出一个圆形类Circle分数25作者 张德慧单位 西安邮电大学请从下列的抽象类shape类扩展出一个圆形类Circle,这个类圆形的半径radius作为私有成员,类中应包含初始化半径的构造方法。publicabstractclassshape{//抽象类publicabstractdoubleg......
  • PTA 作业三 继承与多态 JAVA 面向对象程序设计7-1 周长计算器-1分数 30作者 Ma 单位
    7-1周长计算器-1分数30作者 Ma单位 山东科技大学1、定义一个接口Shape用于表示图形,其包含一个doublelength()的方法用于求周长。2、定义三角形类Triangle、长方形类Rectangle、圆形类Circle分别实现接口Shape3、定义测试类ShapeTest并使用Shape接口定义变......
  • java面向对之象类的继承与多态
    目录1.类的继承图解案例:创建一个动物类和一个猫类1.代码1)动物类2)猫类3.测试类2.效果2.父类方法的重写案例:如何重写父类的方法        1.代码1)Animal类2)Dog类3)测试类2.效果3.super关键字案例:如何在子类中调用父类的方法,或属性1.代码1)Animal类......
  • 多态和继承
    继承:通常意思就是儿子可以继承父亲的东西,在java里面也是一样的,当我们在同一个包内有多个类的成员变量/方法相同时可以使用继承,只可以在子非静态方法使用 继承就是把相同的成员变量/成员方法放在一个类中,然后使用extends这个关键字来让一个类来继承另一类从而达到代码的复用的......
  • PTA JAVA语言 面向对象程序设计 作业二 6-2 定义学生类 定义一个学生类(Student),其中包
    6-2定义学生类分数10作者 fpc 谢谢大佬关注,不定期分享学习笔记,希望大佬能多多支持,三连必回单位 内蒙古师范大学定义一个学生类(Student),其中包括四个属性:姓名(name),年龄(age),班级号(classNo),爱好(hobby)裁判测试程序样例:/*请在这里填写答案*/测试该类的程序如下:publiccl......
  • PTA JAVA语言 面向对象程序设计 作业二 6-1 sdut-oop-7 计算长方体的体积与质量(类和对
    6-1sdut-oop-7计算长方体的体积与质量(类和对象)分数10作者 周雪芹单位 山东理工大学现根据长方体的长、宽、高、密度,求其底面周长、底面积、体积、质量。若长、宽、高、密度之一有数据为0或者负数,则不能构成长方体,输出的值均为0。补充完整如下类的定义:classCuboid{......
  • PTA JAVA语言 面向对象程序设计 作业二 6-3 Person类 构造Person类。包括姓名(name),性
    6-3Person类 谢谢大佬关注,不定期分享学习笔记,希望大佬能多多支持,三连必回单位 山东科技大学构造Person类。包括姓名(name),性别(sex)和年龄(age)。提供所有属性的set和get函数,提供print函数打印其信息输入描述:姓名(name),性别(sex)和年龄(age)输出描述:用户信息裁判测......