• Java中的对象、类、抽象类、接口的理解


    更好阅读体验:Java中的对象、类、抽象类、接口的理解

    1.对象

    对象是个具体的东西,有着明确的属性特征和行为特征。

    例如:你手上牵着的女朋友或男朋友就是个具体的对象。

    如图中的苏格兰折耳猫,特征是耳朵向下呈折叠状,有着具体的颜色(你看到的颜色),并且和其他猫科动物有着共同的基本特征。

    2.类

    类是个抽象的东西,有着一些基本属性和行为。

    例如:你的对象是某类人(男人、女人等),但具体是哪个就不知道了,因为Ta还没出现(还没实例化)。

    以下三个都是同一类猫,统称为苏格兰折耳猫,特征是耳朵向下呈折叠状,会有先天骨科疾病,进而影响运动能力,时常用坐立的姿势来缓解痛苦,但和其他猫科动物有着共同的基本特征。这三个猫都有着相同的属性(折耳,有病等),也有着不同的属性(肤色等),但都是同一类猫,统称为苏格兰折耳猫。

      

    类和对象的关系

    类是对象的抽象,对象是类的具体实现。

    如:我们在工作中获取经验,为了传授经验,前人把经验抽象为理论,再通过理论传授知识给后人,后人获取到知识后需要通过实践来巩固知识。

    经验--抽象-->理论,理论--实践-->经验;

    对象--抽象-->类, 类--实例化-->对象。

    抽象的过程相对于设计,实例化的过程相对于应用。

    3.抽象类

    抽象类是对类的进一步抽象。其实普通类也可以实现抽象类的功能,但抽象类可以做到强制不能实例化,只能通过继承的方式传递属性和方法,并且需要实现抽象方法。

    如:把猫科动物定义为抽象类,不同的某一类猫的名称都不相同,需要继承重写猫类名称(如苏格兰折耳猫类)。

    对象、类和抽象类关系图

    4.接口

    接口是某个事物对外提供的一些功能的说明,是一个规范,类似于硬件上面的接口。

    例如:猫和狗都会发出声音(说话),一般把这类功能封装为接口,然后通过实现接口便可以获得该功能。

    抽象类和接口

    a.抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高;

    ​b.抽象类可以有具体的方法和属性,  接口只能有抽象方法和常量(接口后来允许有具体方法);

    c.抽象类主要用来抽象类别,接口主要用来抽象功能(只能使用常量,一般定义公共固定属性);

    d.抽象类实现接口时,接口的方法在抽象类中可以被实现也可以不被实现,而普通实现接口必须实现所有接口方法。

    「何时使用抽象类或接口」

    当你关注一个事物的「本质」的时候,一般用「抽象类」
    当你关注一个事物的「功能」的时候,一般用「接口」

    「例子中四者关系图」

    图片

  • 相关阅读:
    HDU 1025 Constructing Roads In JGShining's Kingdom (DP+二分)
    HDU 1158 Employment Planning
    HDU 2059 龟兔赛跑
    Csharp 简单操作Word模板文件
    Csharp windowform datagridview Clipboard TO EXCEL OR FROM EXCEL DATA 保存datagridview所有數據
    Csharp 讀寫文件內容搜索自動彈出 AutoCompleteMode
    Csharp windowform controls clear
    CSS DIV大图片右上角叠加小图片
    Csharp DataGridView自定义添加DateTimePicker控件日期列
    Csharp 打印Word文件默認打印機或選擇打印機設置代碼
  • 原文地址:https://www.cnblogs.com/dennyLee2025/p/15769016.html
Copyright © 2020-2023  润新知