精华内容
下载资源
问答
  • 抽象类的作用
    千次阅读
    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(){
        }
    }

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

    更多相关内容
  • 下面和小编一起来详细的了解一下具体的作用,以及看看抽象类作用的例子吧!一、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抽象类常见问题,请继续关注本站来进行了解吧。

    推荐阅读:

    展开全文
  • 抽象类作用

    2021-04-30 23:25:32
    2.抽象类作用 –>不往抽象了说,最直观的就是实现接口中的方法,供子类继承和重写。 我们拿“Servlet”接口进行举例 Servlet接口中有五个抽象方法,大家都知道一个非抽象的类要实现接口,需要把接口中除了...

    抽象类


    1.什么是抽象类

    — > 类和类本身具有共同特征,将这些特征提取出来,形成的就叫做抽象类。抽象类本身并不存在,所以无法创建对象

    2.抽象类的作用

    –>不往抽象了说,最直观的就是实现接口中的方法,供子类继承和重写
    我们拿“Servlet”接口进行举例

    1. Servlet接口中有五个抽象方法,大家都知道一个非抽象的类要实现接口,需要把接口中的方法都加以实现,那如果我只想用其中一个方法而又不想重写其它方法该怎么办呢 ?
      ----》这个时候我们就需要抽象类了,抽象类可以重写接口中的方法,并添加自己的方法。这样子类在重写时,可以直接继承抽象类,而不用直接实现接口

    OneServlet实现类

    1.问题:为什么OneServlet不直接实现Servlet接口,而要继承HttpServlet抽象类?
    -----》 继承HttpServlet接口可以有选择的重写我们需要的方法,降低程序的开发难度。
    
    public class OneServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("OneServlet类针对浏览器发送GET请求方式处理");
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("OneServlet类针对浏览器发送POST请求方式处理");
        }
    
    }
    

    Servlet接口

    
    public interface Servlet {
        void init(ServletConfig var1) throws ServletException;
    
        ServletConfig getServletConfig();
    
        void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
    
        String getServletInfo();
    
        void destroy();
    }
    
    

    抽象类GenericServlet 对应实现接口Servlet

    public abstract class GenericServlet implements Servlet, ServletConfig, Serializable {
    	
    	public void destroy() {}
    
    	public void init(ServletConfig config) throws ServletException {
    	     this.config = config;
    	     this.init();
    	 }
    	public abstract void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
    
    	public String getServletInfo() {
    	        return "";
    	}
    
    	public ServletConfig getServletConfig() {
    	        return this.config;
    	}
    }    
    

    抽象类HttpServlet父类对应抽象类GenericServlet

    public abstract class HttpServlet extends GenericServlet {
    
     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String protocol = req.getProtocol();
            String msg = lStrings.getString("http.method_get_not_supported");
            if (protocol.endsWith("1.1")) {
                resp.sendError(405, msg);
            } else {
                resp.sendError(400, msg);
            }
    
        }
         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String protocol = req.getProtocol();
            String msg = lStrings.getString("http.method_post_not_supported");
            if (protocol.endsWith("1.1")) {
                resp.sendError(405, msg);
            } else {
                resp.sendError(400, msg);
            }
    
        }
    }    
    
    展开全文
  • 1.php 接口:interface 其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个时候php接口就起到作用了,当...
  • 纯虚函数是一种特殊的虚函数,它的一般格式如下:  class <... class point//抽象类 { public: point(int i=0, int j=0) { x0=i; y0=j; } virtual void set() = 0;//纯虚函数 virtual void draw
  • java中的抽象类到底有什么作用

    之前听别人说java的抽象类完全就是鸡肋啊, 一点用都没有?

    我要规范代码,直接写接口然后用一个类实现这个接口不就好了,抽象类在实际的开发中到底有没有什么独特的作用?

    我以前也纠结过这个问题, 今天我就把我理解的为什么java要有抽象类这个东西;

    这里从抽象类的作用抽象类与普通类以及接口之间的区别来解释.

    一: 抽象类的作用

    如果你看JDK的源码,就会发现,大部分情况下,你用到的方法,他的父类都是一个抽象类,而不是一个直接的接口。原因主要有两个,接口确实是用来定义规范的,同一个接口下,可能有大量不同的实现,举个例子,List这个接口

    boolean add(E e);
    boolean remove(Object o);
    boolean addAll(Collection<? extends E> c);
    ......

    但是你去看ArrayList,第一个继承的是AbstractList(抽象类),然后你去看LinkedList,第一个继承是AbstractSequentialList(抽象类),而AbstractSequentialList也是继承自AbstractList,你肯定知道ArrayList和LinkedList的区别咯。为什么这么做呢,因为有很多方法是可以复用的,比如

    public int indexOf(Object o);
    public int lastIndexOf(Object o);
    ......

    如果你纯粹用接口的话,你需要写很多重复的代码,一旦修改,你就麻烦了。抽象类的目的在于,你可以更细致化的表明哪些是不同的,哪些是相同的。所以这就是接口和抽象类的简单区别。如果还不理解,你可以看看collection容器类的源码,就会发现了。(抽象类可以默认实现某些方法, 就不需要对一些方法重复实现相同的功能)

    二: 抽象类与一般类的区别

    抽象类与一般类的区别在于抽象方法

    它的理念是对某个操作下一个定义,但交给子类去实现。

    你可能会说,一般类也可以定义一个空方法,然后交给子类实现啊,但这么做因为没有在语法上强迫子类一定要实现这个方法,所以如果子类忘了去实现的话,软件出错的几率会很高。

    三: 抽象类与接口的区别

    当然,有时候 Java 接口不支持缺省方法,但有了缺省方法的接口,仍然不能代替抽象类,因为没有成员。

    接口之所以不能有成员,是因为它只是对象行为的抽象。当你需要定义一个类型,既包含行为抽象,又包含成员来供子类使用时,显然只有抽象类可以满足了。

    展开全文
  • 抽象类作用是什么?

    千次阅读 2019-10-11 20:00:48
    这一组任意个可能的具体实现表现为所有可能的子类,模块可以操作一个抽象类,由于模块依赖于一个固定的抽象类,那么他是不允许修改的。同时通过这个抽象类进行派生,拓展此模块的行为功能。 ...
  • python之抽象类

    千次阅读 2021-03-05 15:30:28
    1什么是抽象类与java一样,python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化2为什么要有抽象类如果说类是从一堆对象中抽取相同的内容而来的,那么...
  • C++学习——抽象类

    千次阅读 2022-07-31 16:04:44
    C++抽象类学习
  • 抽象类的概念和作用

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

    万次阅读 多人点赞 2018-09-03 11:34:27
    关于C#中抽象类的一些感想 写代码已经有很长一段时间, 但感觉成长很少,基本是为了功能开发而开发,我相信80%的程序员都一样,基本都是拿网上的开源项目改改改后实现功能就行, 很少会去深入,去思考为什么要这么...
  • C# 抽象类(abstract)

    千次阅读 2021-10-19 18:46:34
    C#抽象类: C#抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外...
  • C++的抽象类有什么用?

    千次阅读 2020-08-07 11:15:25
    在C++中,如果一个类中含有纯虚析构,那么这个类就是抽象类。 定义一个纯虚析构 virtual 修饰的函数为虚析构,虚析构=0则为纯虚析构 那么抽象类有什么用呢?比如在父类中定义了吃水果蔬菜,那么具体是吃什么呢?猴子...
  • Java中的抽象类作用? 理解? 什么时候使用?抽象类语法总结。
  • 抽象类及抽象方法作用

    千次阅读 2018-10-12 23:45:55
    举例:父类定义了一个排序方法,而具体的实现由子类来实现,可以是冒泡排序,也可以是希尔排序等等,父类的排序方法没有必要写出具体实现,只要声明一下就行 ...抽象类及抽象方法是一种约束,一种规范...
  • 抽象类概念及其作用

    千次阅读 多人点赞 2019-06-03 10:41:26
    一、什么是抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类抽象类除了不能...
  • Java中的抽象类和接口

    千次阅读 多人点赞 2022-04-08 15:17:42
    各位铁汁们大家好呀!今天让我们继续学习java,看看java中的抽象类和接口到底是什么? 里面也会讲到多态呀,一起来看看吧
  • 注:原博文是关于C#的,java...举个例子吧:有个抽象类:人类其中有个非抽象成员方法:吃饭(因为假定人类吃饭的方法都是咀嚼)而抽象方法则有:获取语言,获取性别等等。当子类需要继承“人类”这一抽象类时,它可
  • 接口的作用,和抽象类之间的选择

    千次阅读 2017-03-22 17:43:16
    前俩天有个弟弟和我说他不理解接口,我心里想接口有啥不好理解。想到了平时项目中的应用。瞬间想到的了,为啥我要用接口?我都想不到它切实的优点,和使用的必要性。...这里主要说和抽象类的对比:
  • java抽象类的构造方法和普通类的构造方法一样都是用来初始化类只是抽象类的构造方法不能直接调用 因为抽象类不能实现实例但是一旦一个普通类继承了抽象类 便也可以在构造函数中调用其抽象类的构造函数也可以使用其...
  • 本文实例讲述了PHP abstract 抽象类定义与用法。分享给大家供大家参考,具体如下: PHP抽象类应用要点: 1.定义一些方法,子类必须完全实现这个...//作用抽象类不实现具体方法,具体方法由子类完成。 //定义抽象类
  • 既然抽象类并不能实例化,那抽象类中的构造函数存在的意义是什么?抽象类必须被子类继承来实现。 子类在调用父类时 无论自己有没有构造方法都会先去执行父类无参的函数。哪怕父类是抽象类。虽然抽象类不能被实例化,...
  • Java抽象类作用和使用

    万次阅读 多人点赞 2017-02-12 21:04:16
    转载自Java抽象类的使用 /* 当多个类中出现相同功能,但是功能主体不同, 这是可以进行向上抽取。这时,只抽取功能定义,而不抽取功能主体。 抽象:看不懂。 抽象类的特点: 1,抽象方法一定在抽象类中。 2,...
  • 上一节课我们学习了Java中的继承语法,以及如何继承中的方法重写和super()关键字,今天我们将学习一下如何阻止继承以及抽象类。 课程内容 阻止继承:final类和方法 有些时候我们希望阻止某个类被继承,不允许扩展的...
  • Java抽象类

    千次阅读 2021-03-06 04:41:24
    抽象类”的作用类似“模板”,其目的是要设计者依据它的格式来修改并创建新的类。但是不能直接由抽象类创建对象,只能通过抽象类派生出新的类,再由它来创建对象。抽象类的定义及使用规则:<1>包含一个抽象...
  • java抽象类 继承

    千次阅读 2021-03-08 06:02:32
    关于java抽象类 继承的搜索结果回答抽象类和接口的区别:默认的方法实现抽象类可以有默认的方法实现完全是抽象的。接口根本不存在方法的实现。抽象类中可以有已经实现了的方法,也可以有被abstract修饰的方法(抽象...
  • 如果类中存在一个或更多抽象方法, 那么这个类就成了抽象类. 你不能实例化抽象类. 你必须继承它们,然后实例化子类. 你也可以把抽象类看成是子类的一个模板. 如果你覆写所有的抽象方法, 子类就变成一个普通的类. 如果...
  • Java 抽象类和接口

    千次阅读 热门讨论 2021-11-14 16:09:56
    文章目录一、抽象类1.抽象类1.1抽象类的定义1.2抽象方法的定义方式1.3抽象类的定义方式2.抽象类和实例类的区别3.抽象类示例4.抽象类的特征二、接口1.接口1.1接口的定义1.1定义一个接口1.2 接口的使用1.3接口的注意...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 529,348
精华内容 211,739
关键字:

抽象类的作用

友情链接: MultiMedia1.rar