面对对象-抽象类

在类中声明一个方法,这个方法没有实现体,是一个“空”方法

这样的方法就叫抽象方法,使用修饰符“abstract" 抽象方法没有方法体

当一个类有抽象方法的时候,该类必须被声明为抽象类

使用abstract修饰的类,抽象类中可以包含抽象方法。

包含抽象方法的类一定是抽象类,但抽象类中不一定包含抽象方法。

抽象类中可以存在属性,方法,构造方法。

抽象类不能实例化(不能使用new关键字创建对象),但可以在子类调用构造方法。

抽象类的作用:通过抽象类,可以避免子类设计的随意性。

抽象类就是为被继承而生的。

子类一旦继承了抽象类,就必须重写抽象类中的抽象方法,或者子类本身也是一个抽象类。

时间: 2024-11-05 21:55:35

面对对象-抽象类的相关文章

跟着百度学PHP[4]OOP面对对象编程-12-抽象类

什么是抽象方法?我们在类里面定义的没有方法体的方法就是抽象方法.所谓的没有方法体指的是,在方法声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时还要加一个关键字“abstract”来修饰. 目录==================================== 1.声明一个抽象类,抽象方法(案例一) 2.继承一个抽象类(实例二) ======================================= 案例一 <?php abstract

面对对象编程七大原则

面对对象编程七大原则: 1. OCP 全称:“Open-Closed Principle” 开放-封闭原则 说明:对扩展开放,对修改关闭. 优点:按照OCP原则设计出来的系统,降低了程序各部分之间的耦合性,其适应性.灵活性.稳定性都比较好.当已有软件系统需要增加新的功能时,不需要对作为系统基础的抽象层进行修改,只需要在原有基础上附加新的模块就能实现所需要添加的功能.增加的新模块对原有的模块完全没有影响或影响很小,这样就无须为原有模块进行重新测试. 如何实现“开-闭”原则 在面向对象设计中,不允许

Android 内功心法(番外)——写在设计模式前,面对对象编程基础

我写的一系列"Android 内功心法"着重讲到android中经常使用的设计模式.那么如果有些程序员刚刚接触设计模式,那就有必要确定一下自己面对对象编程的基础是否牢固了. 因为这直接关系到你阅读设计模式的速度和理解质量. 接下来我将简单介绍java中面对对象编程的一些基础知识. 1,类和修饰符 public class ClassTest{ public ClassTest{ } public void test(){ } } 其中类的定义是以"class"来决定

python面对对象

中间隔有python模块没有进行更新,是因为觉得模块的操作应用更应该记牢,再次先不更新 1,面对对象的作用: 能简化思路和代码 2,面对对象的思路: 不着急直接去计算/操作代码获取结果 从一个大的问题中,要到要描述的角色 将角色的属性和行为抽象出来 形成一个模子 后期用到角色的时候,都围绕这个模子来操作.3,类 :一类抽象的事物,是描述了一类事物有哪些属性或者行为,但是不具体.4,实例:就是一个依托于类的规范存在的,被赋予了具体属性值得实际存在的物体5,对象 :就是实例--给类中约束的属性赋了具

跟着百度学PHP[4]OOP面对对象编程-7-OOP的一些关键子讲解

面对对象常用的一些关键子:http://www.cnblogs.com/xishaonian/p/6146794.html排版不是很好望见谅. THE END 跟着百度学PHP[4]OOP面对对象编程-7-OOP的一些关键子讲解

跟着百度学PHP[4]OOP面对对象编程-5-内部引用$this

$this就是对象内部代表这个对象的引用 可以调用被封装的方法或者属性! <?php class Person{ private $name; private $age="21"; var $sex; function play(){ echo "他正在玩儿呢"; } private function Hello(){ //使用private封装hello方法.该方法不可直接调用.但是可以在内部使用$this调用. echo "这个是被封装的内容&q

面对对象_面向对象的概念、类与对象的关系

面向对象的基本概念: 1.什么是面向对象 1.面向对象是一种编程思想 2.面向对象是一种思考问题的思维方式 2.建立面向对象的思维方式 1.先整体,再局部 2.先抽象,在具体 3.能做什么,再怎么做 3.如何学习面向对象 1.掌握一门面向对象语言的语法 2.熟悉面向对象的设计原则 3.熟悉面向对象的设计模式 面对对象的概述:   1.面对对象的三个特征(公认的):封装,继承,多态.(也可以说是四大特征:封装,继承,多态,抽象)   2.开发中先找对象,没有就建立一个对象,实际就是找对象,建立对象

js面对对象编程

说到js,很大一部分人会说我很熟悉,在日常的web开发中经常用,那么你的js代码是符合面对对象思路的吗?那你会问我面向过程的js代码有什么不好吗?我的感受是面对对象的js编码更加简洁,减少了混乱,可维护行增强,适合编写富客户端时应用. 好了,首先看看js里如何定义对象: <html> <head> <script type="text/javascript"> var obj=new Object(); obj.name='josh'; obj.ag

Day-8: 面对对象编程

面对过程的程序设计方法意在将函数分成子函数,再依次调用这些函数来解决问题. 而面对对象的程序设计方法,来源于自然界,类是实例的抽象,实例是类的具体.自定义出来的对象是类,而所有的数据都可以看成是对象,因此解决问题的方法是靠对象自己处理消息和相互传递消息.使用时,首先考虑的是需要创建什么样的对象,对象中有怎么样的属性,要实现什么功能(成为方法). 面向对象的抽象程度比函数要高,因为一个class中既包含数据,又包含操作数据的方法.其中,数据封装.继承和多态是面向对象的三大特点. 创建类时,clas