精华内容
下载资源
问答
  • 抽象类的作用和意义
    2020-08-15 18:10:18

    用一句话总结抽象类的作用就是:降低接口实现类与接口之间的实现难度。

    下边给出例子进行说明:

    假设定义一个校级学生守则的接口SchoolSta,里边有两个方法,一个是开除,一个是扣学分

    public interface SchoolSta{
        //定义两个方法:开除和扣学分
        public void kaiChu();
        public void kouXueFen();
    }

    但是学生会觉得开除这个不太合理,不想继承这个方法,所以就可以通过抽象类来作为中介,因为抽象类在实现接口的时候不必对接口中的所有方法进行重写继承,可以进行选择

    所以我们通过一个定义一个抽象类班级学生守则ClassSta来对接口进行实现,只选择重写扣学分的方法

    public abstract class ClassSta implements SchoolSta{
        //只选择重写接口中的扣学分方法
        public void kouXueFen(){
        }    
    }

    然后student就可以继承班级学生准则了,这样就没有开除的方法了

    public class Student extends ClassSta{
    
        public void kouXueFen(){
        }
    }

    注意:继承抽象类时,里边的方法都要全部进行重写

    更多相关内容
  • 纯虚函数是一种特殊的虚函数,它的一般格式如下:  class <... class point//抽象类 { public: point(int i=0, int j=0) { x0=i; y0=j; } virtual void set() = 0;//纯虚函数 virtual void draw
  • 抽象类作用:1、用于隐藏对类型进行隐藏,我们可以构造出一个固定的一组行为的抽象描述,一个行为可以有任意个可能的具体实现方式。这个抽象的描述就是抽象类。2、用于拓展对象的行为功能这一组任意个可能的具体...

    Java中可以定义没有方法体的方法,该方法由其子类来具体的实现。该没有方法体的方法我们称之为抽象方法,含有抽象方法的类我们称之为抽象类。

    164af8a0314bfddb4a3da3a308d5aaf5.png

    抽象类的作用:

    1、用于隐藏

    对类型进行隐藏,我们可以构造出一个固定的一组行为的抽象描述,一个行为可以有任意个可能的具体实现方式。这个抽象的描述就是抽象类。

    2、用于拓展对象的行为功能

    这一组任意个可能的具体实现表现为所有可能的子类,模块可以操作一个抽象类,由于模块依赖于一个固定的抽象类,那么他是不允许修改的。同时通过这个抽象类进行派生,拓展此模块的行为功能。

    抽象类的特点:

    (1)定义中含有抽象方法的类叫做抽象类。

    (2)抽象类用abstract关键字来修饰。

    (3)抽象类代表一种抽象的对象类型。

    (4)抽象类不能实例化。

    (5)抽象类中可以有具体方法,可以没有抽象方法。(也就是说一个类中只要有一个方法是抽象方法那么这个类一定是抽象类,反过来,一个抽象类中可以没有抽象方法,可以带有具体实现的方法)

    (6)一旦一个类中有抽象方法,那么这个类必须也要用abstract来修饰,代表这个类是抽象类,它是不能被实例化的。

    更多相关知识请关注前端学习网站

    展开全文
  • 下面小编一起来详细的了解一下具体的作用,以及看看抽象类作用的例子吧!一、java抽象类的作用java抽象类的作用具体的可以分成以下的三点:1、抽象类通常都是用来表征对问题领域进行分析、设计中得出的抽象概念,是...

    你知道java当中抽象类的作用是什么吗?有什么作用?下面和小编一起来详细的了解一下具体的作用,以及看看抽象类作用的例子吧!

    一、java抽象类的作用

    java抽象类的作用具体的可以分成以下的三点:

    1、抽象类通常都是用来表征对问题领域进行分析、设计中得出的抽象概念,是对大多数看上去不同,可是本质上却是相同的具体概念的抽象

    2、在面向对象方法当中,抽象类主要是用来进行类型隐藏

    构造出一个固定的一组行为的抽象描述,可是这组行为却可以有任意个可能的具体实现方式,这个抽象描述就是我们所说的抽象类

    这一组任意个可能的具体实现就表现为所有可能的派生类

    模块能够操作一个抽象体

    因为模块依赖于一个固定的抽象体,所以它可以是不允许修改的

    3、通过从这个抽象体派生,也能够扩展这个模块的行为功能

    为了可以实现面向对象设计的一个最核心的原则,也就是OCP,抽象类可以说是这当中一个很关键的东西

    二、抽象类作用例子//抽象类的作用;模板作用(本例中:

    //抽象的父类中,父类的普通方法依赖于一个抽象方法,而抽象方法则推迟到子类中

    //去实现)

    abstract class SpeedMeter

    {

    private double turnRate;

    public SpeedMeter()

    {}

    public abstract double getRadius();

    public void setTurnRate(double turnRate)

    {

    this.turnRate = turnRate;

    }

    //定义计算速度的方法

    public double getSpeed()

    {

    //速度等于车轮半径*2*PI*转速

    return java.lang.Math.PI * 2 * getRadius() * turnRate;

    }

    }

    public class CarSpeedMeter extends SpeedMeter

    {

    public double getRadius()

    {

    return 0.28;

    }

    public static void main(String[] args)

    {

    CarSpeedMeter csm = new CarSpeedMeter();

    csm.setTurnRate(15);

    System.out.println(csm.getSpeed());

    }

    }

    以上就是对于java中抽象类的作用以及例子的介绍,更多java抽象类常见问题,请继续关注本站来进行了解吧。

    推荐阅读:

    展开全文
  • java抽象类和接口有什么意义

    千次阅读 2021-02-04 16:53:06
    为什么接口和抽象类不能实例化,为什么接口可以多个实现而抽象类只能单继承,特别是java8之后,抽象类和接口里面都可以写代码后,就更加分不清了,今天重新整理一下。 什么是抽象类(abstract class) 使用abstract...

    用了java这么久,对接口和抽象类使用一直很模糊。为什么接口和抽象类不能实例化,为什么接口可以多个实现而抽象类只能单继承,特别是java8之后,抽象类和接口里面都可以写代码后,就更加分不清了,今天重新整理一下。

    什么是抽象类(abstract class)

    使用abstract修饰符修饰的类。官方点的定义就是:如果一个类没有包含足够多的信息来描述一个具体的对象,这样的类就是抽象类。

    实际点来说,一个抽象类不能实例化,因为“没有包含足够多的信息来描述一个具体的对象”。但终归属于类,所以仍然拥有普通类一样的定义。依然可以在类的实体(直白点就是能在{}里面)定义成员变量,成员方法,构造方法等。

    那么可能初学者会问:既然不能实例化,那么在类里面定义成员方法,成员变量有什么用。

    抽象类在实际应用中,更多的是因为类中有抽象方法。抽象方法:只声明,不实现。具体的实现由继承它的子类来实现。实际点就是:被abstract修饰的方法,只有方法名没有方法实现,具体的实现要由子类实现。方法名后面直接跟一个分号,而不是花括号。例如:

    abstract class Animal{
        public abstract void run();
    }
    
    class Person extends Animal{
        @Override
        public void run() {
            System.out.println("Person.run");
        }
    }
    

    一个类中含有抽象方法(被abstract修饰),那么这个类必须被声明为抽象类(被abstract修饰)。

    什么是接口(interface)

    官方定义:接口在java中是一个抽象类型,是抽象方法的集合。一个类通过继承接口的方式,从而继承接口的抽象方法。

    从定义上看,接口是个集合,并不是类。类描述了属性和方法,而接口只包含方法(未实现的方法)。接口和抽象类一样不能被实例化,因为不是类。但是接口可以被实现(使用 implements 关键字)。实现某个接口的类必须在类中实现该接口的全部方法。虽然接口内的方法都是抽象的(和抽象方法很像,没有实现)但是不需要abstract关键字。

    接口中没有构造方式(因为接口不是类)

    接口中的方法必须是抽象的(不能实现)

    接口中除了static、final变量,不能有其他变量

    接口支持多继承(一个类可以实现多个接口)

    例如:

    声明两个职业 接口:

    public interface ItWorker {
        String name = "worker";
        public void coding();
    }
    public interface Teacher {
        String name = "teacher";
        public void teaching();
    }
    

    Person实现两种职业接口:

    public class Person implements ItWorker,Teacher{
        @Override
        public void coding() {
            System.out.println("I'm a"+ItWorker.name);
        }
    
    	@Override
    	public void teaching() {
    	   System.out.println("I'm a"+Teacher.name);
    	}
    
    }
    

    抽象类和接口有什么意义

    对于接口

    接口的最主要的作用是达到统一访问,就是在创建对象的时候用接口创建,【接口名】 【对象名】=new 【实现接口的类】,这样你像用哪个类的对象就可以new哪个对象了,不需要改原来的代码,就和你的USB接口一样,插什么读什么,就是这个原理。

    对于接口的作用,在一些小的项目上,很难看出其发挥的优势。这就使一些经常的做小项目的开发人员,做时间久了就感觉不到它有什么好的,有时候写起来还麻烦,干脆不用了。其实,在一些大项目上,接口的作用是发挥地相当的明显的。

    比如:如果你开发业务逻辑代码,当你好不容易的实现了它全部的功能,突然用户需求要改,你在修改你代码的同时,调用你代码的其它人也会改,如果代码关联性强的话,会有很多人都要改动代码,这样一来二去,程序会变得相当的不稳定,而且可能还会出现更多的新Bug,所有人都可能会陷入混乱。

    但如果使用接口的话,在你使用它之前,就要想好它要实现的全部功能(接口实际上就是将功能的封装)。确定下这个接口后,如果用户需求变了,你只要重新写它的实现类,而其它人只会调用你的接口,他不管你是怎么实现的,它只需要接口提供的功能。这样,很可能只需要把你的代码修改就可以了,其他人什么都不用做。

    同时:这样做的话,使得开发人员能够分工明确,只要确定下来接口了,就可以同时进行开发,提高开发效率。另外,使用接口还有使用方便,可读性强,结构清晰
    等优点。

    对于抽象类

    一般来说我们使用普通类来实现接口,这个普通类就必须实现接口中所有的方法,这样的结果就是普通类中就需要实现多余的方法,造成代码冗余。但是如果我们使用的是抽象类来实现接口,那么就可以只实现接口中的部分方法,并且当其他类继承这个抽象类时,仍然可以实现接口中有但抽象类并未实现的方法。

    总结

    我们可以把接口看成一个工具,当我们实现一个接口时,就意味着能使用这一工具,当我们实现多个接口时,就能使用多种工具,就像上面Person可以是多种职业,所以它可以同时实现Teacher和ItWorker接口。

    而抽象类则可以看成是一个祖先,所以一个类只能继承一个祖先,如上Animal是Person的祖先,所以Person具有Animal的一切属性。

    展开全文
  • PHP中的抽象类和抽象方法自己用的不多,但是经常会在项目中看到别人使用,同样,今天在看别人的代码的时候,发现使用了抽象类,就总结下: 抽象类: 1、如果一个类中有一个方法是抽象方法,则这个类就是抽象类; 2...
  • Java中的抽象类和接口

    千次阅读 多人点赞 2022-04-08 15:17:42
    各位铁汁们大家好呀!今天让我们继续学习java,看看java中的抽象类和接口到底是什么? 里面也会讲到多态呀,一起来看看吧
  • 抽象类的概念和作用

    万次阅读 多人点赞 2018-07-08 12:07:46
    一、抽象类的概念和作用1.抽象的定义  抽象是把多个事物的共性的内容抽取出来,本质就是把我们关注的内容抽取出来。(比如:宝马、奔驰都属于汽车,汽车是抽象出来的概念)2.抽象类  Java中可以定义没有方法体的...
  • 浅谈Java的抽象类及其意义

    千次阅读 2020-05-13 22:04:27
    文章目录什么是抽象类对于抽象类的使⽤原则抽象类的相关规定抽象类意义 什么是抽象类 抽象类只是在普通类的基础上扩充了⼀些抽象⽅法⽽已,所谓的抽象⽅法指的是只声明⽽未实现的⽅法(即没有⽅法体)。所有抽象...
  • 含有抽象方法的类一定是抽象类,但是抽象类不一定含有抽象方法。 Person类(没有抽象方法的抽象类): public abstract class Person { private String name; private int age; public Person() { } ...
  • Java抽象类作用和使用

    万次阅读 多人点赞 2017-02-12 21:04:16
    转载自Java抽象类的使用 /* 当多个类中出现相同功能,...2,抽象方法和抽象类都必须被abstract关键字修饰。 3,抽象类不可以用new创建实例化对象。因为抽象类本身就是不完整的。 4,抽象类中的抽象方法要被使用,
  • 上一节课我们学习了Java中的继承语法,以及如何继承中的方法重写super()关键字,今天我们将学习一下如何阻止继承以及抽象类。 课程内容 阻止继承:final类方法 有些时候我们希望阻止某个类被继承,不允许扩展的...
  • Java中的抽象类作用? 理解? 什么时候使用?抽象类语法总结。
  • PHP抽象类 介绍

    2020-12-19 10:19:53
    在自然语言中,我们理解抽象...不能从抽象类创建对象,它的意义在于被扩展 3.抽象类通常具有抽象方法,方法中没有大括号 PHP抽象类应用重点: 1.抽象方法不必实现具体的功能,由子类来完成 2.在子类实现抽象类的方法时
  • 本文实例总结了php抽象类和接口相关知识点。分享给大家供大家参考,具体如下: 抽象类(一种抽象的类) 一、什么是抽象方法? 定义:一个方法如果没有方法体(一个方法,不使用{},直接使用分号结束的方法,才是没有...
  • 主要介绍了java 抽象类的实例详解的相关资料,希望通过本大家能理解掌握这部分内容,需要的朋友可以参考下
  • python抽象类有什么用

    2021-02-09 11:51:25
    抽象类,就像是类接口的混合体,具有接口的特性,在python中利用第三方abc模块,实现抽象类。...含有抽象方法的类一定是抽象类,但是抽象类不一定含有抽象方法,此时也没有任何意义了。在python中接口(抽象类...
  • Java中的抽象类详解,它存在的意义在哪里?

    千次阅读 多人点赞 2019-06-03 14:54:23
    学习抽象类前先理解下面这段话: 问你个问题,你知道什么是“东西”吗?什么是“物体”吗? “麻烦你,小王。帮我把那个东西拿过来好吗” 在生活中,你肯定用过这个词--东西。 小王:“你要让我帮你拿那个...
  • java中的抽象类到底有什么作用
  • 既然抽象类并不能实例化,那抽象类中的构造函数存在的意义是什么?抽象类必须被子类继承来实现。 子类在调用父类时 无论自己有没有构造方法都会先去执行父类无参的函数。哪怕父类是抽象类。虽然抽象类不能被实例化,...
  • 结论:abstract classInterface是JAVA语言中的两种定义抽象类的方式。Interface将abstract的概念作了更进一步的发挥。你可以想像Interface是“纯粹”的 abstract class,只可以包含抽象方法,也包括一些常量的定义...
  • java抽象类的构造方法普通类的构造方法一样都是用来初始化类只是抽象类的构造方法不能直接调用 因为抽象类不能实现实例但是一旦一个普通类继承了抽象类 便也可以在构造函数中调用其抽象类的构造函数也可以使用其...
  • python之抽象类

    千次阅读 2021-03-05 15:30:28
    抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化2为什么要有抽象类如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据属性函数属性。...
  • Kotlin中的抽象类实现

    2020-08-25 09:49:47
    主要介绍了Kotlin中的抽象类实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 2.不能从抽象类创建对象,它的意义在于被扩展 3.抽象类通常具有抽象方法,方法中没有大括号 PHP抽象类应用重点: 1.抽象方法不必实现具体的功能,由子类来完成 2.在子类实现抽象类的方法时,其子类的可见性必须...
  • 抽象类和接口的区别及使用场景

    千次阅读 2020-01-02 15:49:00
    在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就可以称之为抽象类。 1.抽象方法:使用...
  • 抽象类和接口是两个非常相似的类型,许多人认为这俩可以互相换着用,他们既有相似的地方,也有不同的地方,本文将带你梳理这些误区,而且用实际代码告诉你抽象类实现接口会多么的有用。 先来熟悉接口与抽象类的区别...
  • 首先分析什么是抽象类,什么是接口。 抽象类,首先是个类,类是对现实世界中对象的建模模型,抽象类是对类整体的抽象描述,包含方法,以及属性。接口是对类某特性行为的抽象。 对抽象类的继承才是Is-A的关系,对接口...
  • 抽象类作用

    千次阅读 2018-09-25 22:23:56
    2、抽象方法和抽象类都必须被abstract关键字修饰。 3、抽象类不可以用new创建实例化对象。因为抽象类本身就是不完整的。 4、抽象类中的抽象方法要被使用,必须由子类复写所有的抽象方法后,建立子类对象调用。 ...
  • 抽象类实现接口的作用意义

    千次阅读 2018-11-06 14:18:00
    众所周知普通类如果实现...在Java中,使用抽象类来实现接口,并不是毫无作用。相反,有时间有很大的作用。 当你只想实现接口中的个别方法(不是所有方法)时,你可以先写一个抽象类来实现该接口,并实现除了你想要的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 168,642
精华内容 67,456
关键字:

抽象类的作用和意义