美文网首页
抽象以及多态的使用方法

抽象以及多态的使用方法

作者: 坏坏坏坏坏 | 来源:发表于2018-12-11 15:20 被阅读0次

    抽象

    关键字:abstract
    抽象的方法特点是:
    1.没有方法体
    2.如果类里面的构造方法是抽象的,则类也是应该属于抽象方法
    3.父类的构造方法如果是抽象的,则构造方法不需要填写内容,子类中需要重写该方法;

    public abstract void eat();
    

    多态:
    (1)编译的时候,条用的父类的方法。运用的时候实际上是调用的子类的方法里面
    (2)父类的变量可以接受子类里面的对象

    多态的使用方法:

    package day11;
    
    /**
     * 教员
     * @author yangzc
     *
     */
    public abstract class Teacher {
        String name;
        int age;
        
        /**
         * 自我介绍
         */
        protected abstract void sayHi();
        
        /**
         * 授课
         */
        public abstract void lesson();
    }
    
    
    package day11;
    
    /**
     * Java教员
     * @author yangzc
     *
     */
    public class JavaTeacher extends Teacher {
    
        @Override
        protected void sayHi() {
            System.out.println("大家好!我是java老师!");
            // TODO Auto-generated method stub
            
        }
    
        @Override
        public void lesson() {
            System.out.println("打开eclipse");
            System.out.println("知识点讲解");
            System.out.println("总结提问");     
        }
    
    }
    
    
    
    package day11;
    
    /**
     * .NET教员
     * @author yangzc
     *
     */
    public class DotNetTeacher extends Teacher {
    
        @Override
        public void sayHi() {
            // TODO Auto-generated method stub
            System.out.println("大家好!我是.NET老师!");
        }
    
        @Override
        public void lesson() {
            // TODO Auto-generated method stub
            System.out.println("打开Visual Studio");
            System.out.println("知识点讲解");
            System.out.println("总结提问"); 
        }
    
    }
    
    
    
    package day11;
    
    public class SQLServerTeacher extends Teacher {
    
        @Override
        public void sayHi() {
            // TODO Auto-generated method stub
            System.out.println("大家好!我是数据库老师!");
        }
    
        @Override
        public void lesson() {
            // TODO Auto-generated method stub
            System.out.println("打开企业管理器");
            System.out.println("知识点讲解");
            System.out.println("总结提问");     
        }
    
    }
    
    
    
    
    package day11;
    
    /**
     * 教学管理
     * @author yangzc
     *
     */
    public class Manager {
        /**
         * 对教员进行考核
         * @param t 表示教员
         */
        public void judge(Teacher t){
            t.sayHi();
            t.lesson();
        }
    }
    
    
    
    package day11;
    
    /**
     * 对教学管理中心进行测试
     * @author yangzc
     *
     */
    public class ManagerTest {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            JavaTeacher t1 = new JavaTeacher();
            DotNetTeacher t2 = new DotNetTeacher();
            Manager manager = new Manager();
            SQLServerTeacher t3 = new SQLServerTeacher();
            //对java老师进行评估
            //manager.judge(t1);
            //对.NET老师进行评估
            //manager.judge(t2);
            //对数据库老师进行评估
            manager.judge(t3);
        }
    
    }
    
    
    

    多态重要部分 是由4部分组成

    父类的方法定义

    父类的方法中,是抽象类,包含着所有的属性,构造方法也是抽象的。

    子类的定义

    子类先继承父类的属性,然后CTRL+1 重写父类的构造方法,将子类的内容填写进去

    测试的定义

    写出一个函数 ,里面的参数是父类的程序名字 +对象名字,函数中的内容写出直接调用该对象的父类的函数名字

    实例化的定义

    将子类和测试的程序导入实例化中

    相关文章

      网友评论

          本文标题:抽象以及多态的使用方法

          本文链接:https://www.haomeiwen.com/subject/ztoocqtx.html