• 10 | 多态


    1 多态

    同一个引用类型,因为实例不同,表现的形式不同

    2 抽象类

    在某些情况下,引用类型是一个抽象的概念,那么这样的类型,我们可以把他定义为抽象类

    • 语法:在class前加关键字abstract,用于表示当前类为抽象类
    • 注意:

    在抽象类当中,可以有普通方法,也可以有抽象方法,但是,抽象方法只能在抽象类当中声明;
    抽象类除了多了抽象方法和不能被实例化之外,和普通类一致;
    抽象方法的语法,在修饰符和返回值之间,添加关键字abstract,抽象方法没有方法体,即不需要立即实现 ;
    没有抽象的属性;
    抽象类,不可被实例化;
    抽象方法必须在子类当中被实现,除非子类也是抽象类,也就是说,在抽象的类的子类当中,只要有一个子类实现了抽象方法,其后代不必一定实现该抽象方法;
    对于一个子类来说,其父类当中所有的抽象方法,如果没有被实现过,那么将都需要去实现这些抽象方法;

    • 向上转型:父类声明指向子类对象

    向上转型,父类声明,只能调用子类重写的方法,或者本身实现没有被子类重写的方法;
    多个子类实现同一个重写的方法,优先调用距离实现类最近的那个;
    向上转型,子类特有的方法,无法被调用 ;
    向上转型属于自动类型转换。

    • 向下转型,强制将父类型变为子类型

    首先要向上转型过了,才能向下转型;
    向下转型之前,一定要判断实例的类型,要强转为那个引用,就判断是否是这个引用;
    向下转型属于强制类型转换。

    3 接口

    3.1 语法

    • 使用interface来声明;
    • 所有的方法,都是抽象的方法,不存在普通的方法;
    • 抽象方法,只能使用共有的和默认的,两种修饰符。因为,如果是私有的,那么除了本类之外,不可见;如果是受保护的,要继承可见,那么问题,就是否可见;
    //定义接口
    public interface Locl{
    	private void  up1(); //上锁,私有的会报错
    	protected  void up(); //上锁,保护的会报错
    	public void  down(); //落锁,共有的	
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 接口当中,所有的属性多是静态常量
    • 接口可以多实现,用逗号隔开多个接口,但是继承只能是单根继承
    public class FangDaoMen  extends  Door implements Lock,MaoYan{
    }
    
    • 1
    • 2
    • 接口同样不可以被实例化 ;
    • 接口和接口之间是多继承 ;
    • 所有接口当中的抽象方法,都必须被实现类实现;
    • instanceof判断是否是某个类型,看实现类,而不是看声明类型 ;
    • 接口没有构造,抽象类,有构造;枚举对资源的消耗,是非常大的。

    4 设计模式

    4.1 单例模式

    工厂模式:帮助生产具体接口或者抽象类的实现类

    类图:
    在这里插入图片描述

    4.1.1 类名

    接口在类名之上有<接口>
    抽象类斜体
    普通类是正楷

    4.1.2 属性

    前面+号,共有
    前面-号,私有
    属性名:属性类型

    4.1.3 方法

    斜体是抽象方法
    正楷是普通方法
    参数,方法名(in/out 参数名:参数类型):返回值
    前面+号,共有
    前面-号,私有

    4.1.4 继承

    实线

    4.1.5 实现

    虚线

  • 相关阅读:
    团建游戏---黑夜营救
    Android开发基础——Kotlin简介
    全球南方《乡村振兴战略下传统村落文化旅游设计》八一新枝——2023学生开学季许少辉瑞博士生辉少许
    VMware部署CentOS7
    Spring_01 快速入门 ioc的用途&注入&整合
    spring-security 过滤器
    安达发|制造业的新趋势:APS排程软件的广泛应用
    STM32 寄存器配置笔记——系统时钟配置 HSE as PLL
    使 DAO 保持粘性的四个因素
    获取多个接口的数据并进行处理,使用Promise.all来等待所有接口请求完成
  • 原文地址:https://blog.csdn.net/u013916029/article/details/126258064