摘要:类可以用修饰,表示抽象类,抽象类不能直接被实例化。但是继承自这个抽象类的方法就可以被实例化。
类可以用 abstract 修饰,表示抽象类,抽象类不能直接被实例化。但是,继承了抽象类的普通类是可以被实例化的。如:
//one.php
实例化的时候会报Fatal error的错误。
但是继承自这个抽象类的方法就可以被实例化。如:
//index.php include "one.php"; class index extends one { function __construct(){ parent::__construct(); } } $obj = new index;
除了类可以用 abstract 修饰之外,方法也能被 abstruct 修饰,为抽象方法。抽象方法真的是很抽象,它并没有内容,如:
如果方法被 abstruct 修饰,那么这个类必须用abstruct,不然就
会报错。也就是说抽象类可以有普通的方法,但是抽象方法必须在抽象类里面定义,并且,如果继承了这个有抽象方法的抽象类,那么在你继承的这个类里面必须重写这个方法,否则依然会报错。如:
但是抽象类中的抽象方法似乎不能被定义为静态的,定义了之后就报错。如:
还有,抽象类是可以继承抽象类的,并且不需要重写父类的抽象方法,它的抽象方法不能和父类的抽象方法同名,他们的关系就像是拓展延伸的关系。如:
由于平时接触这些也不多,主要都是基于框架开发或者直接在其他系统上二次开发,对这些稍微底层一点的知识理解的不透彻,在我的理解看来,抽象类和方法主要是用在比较底层的被继承的类中,供其他继承的类去拓展。但是是否对于性能是否有改变就不大清楚了。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/21402.html
摘要:抽象类和接口小记抽象类和接口实现了的多态多态是面向对象程序语言的核心在项目开发过程中其实很少使用抽象类接口用得比较多今天小记一下抽象类和接口的区别抽象类抽象类不能被实例化抽象类可以继承可以定义变量可以定义构造方法抽象方法的要显式的写出来其子 Java抽象类和接口小记 Java抽象类和接口实现了java的多态.多态是面向对象程序语言的核心,在项目开发过程中,其实很少使用抽象类,接口用得比...
摘要:如果一个非抽象类遵循了某个接口,就必须实现该接口中的所有方法。抽象类是对整个类整体进行抽象,包括属性行为,但是接口却是对类局部行为进行抽象。因此最好的解决办法是单独将报警设计为一个接口,包含行为设计为单独的一个抽象类,包含和两种行为。 一、抽象类 二、接口 三、抽象类和接口的区别 一、抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现...
摘要:抽象方法没有方法体抽象方法权限修饰符不能为抽象方法的目的就是为了让子类继承重写的,所以抽象方法不能私有,不能修饰。另外,添加默认方法不会影响函数式接口的使用。 原文:抽象类和接口的区别已经变了 随着JDK的不断迭代,抽象类和接口的区别已经有了些许改变,你是否还停留在JDK 7 的答案呢? 定义 抽象类定义通过 abstract class public abstract class A...
摘要:最近一直在刷校招的题目,突然发现自己对接口和抽象类的掌握并不牢固,所以想记录一下对接口和抽象类的理解一抽象类抽象方法是一种特殊的方法它只有声明,而没有具体的实现。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。 最近一直在刷校招的题目,突然发现自己对接口和抽象类的掌握并不牢固,所以想记录一下对java接口和抽象类的理解 一:抽象类 抽象方法是一种特殊的方法:它只有声明,而没...
摘要:在设计模式中,抽象类不能够被实例化初始化,但是可以依靠具体类的继承来实现。对于大型项目来说,对象都是由基本的抽象类继承实现,而这些类的方法通常都由接口来定义。 原文地址:PHP设计模式(二):抽象类和接口 Introduction 对于编程来说,对事物的抽象是一个老生常谈的话题,抽象问题更利于面向对象编程以及程序设计模式。和C/C++,Java,Python等语言一样,PHP也支持面向...
阅读 915·2023-04-26 02:16
阅读 1218·2019-08-30 15:55
阅读 2799·2019-08-30 15:53
阅读 3396·2019-08-29 15:38
阅读 2901·2019-08-29 13:42
阅读 1991·2019-08-26 13:34
阅读 1850·2019-08-26 10:10
阅读 3085·2019-08-23 14:40