抽象方法和抽象类
2014-09-20 11:32
141 查看
<?php /* * 1.什么是抽象方法 * 定义:一个方法如果没有方法体(一个方法不使用“{}”,直接使用分号结束的方法,才是没有方法体的方法),则这个方法就是抽象方法; * 一、声明一个方法,不适用{},而直接分号结束; * 二、如果是抽象方法,必须使用 abstract(抽象关键字来修饰) * 三、不是抽象类,不可以使用抽象方法 * * 2.什么是抽象类 * 一、 如果一个类中有一个方法是抽象方法,则这个类就是抽象类 * 二、如果声明一个抽象类,这个类必须使用abstract来修饰 * * 注意: * 1.只要使用abstract修饰的类,就是抽象类; * 2.抽象类是一种特殊的类,特殊在哪里(在抽象类中有可以有抽象方法) * 3.除了抽象类中可以有抽象方法以外,和正常的类完全一样; * * 注意2: * 1.抽象类不能实例化对象(不能创建出对象) * 2.如果看见抽象类,就必须写这个类的子类,将抽象类中的抽象方法覆盖(加上方法体) * 3. 子类必须全部实现(覆盖重写)抽象方法,这个子类才能创建对象,如果只部分实现,那么还有抽象方法, 则类也就必须是抽象类 * * * * 抽象方法的作用: * 抽象方法的作用是就是规定了,子类必须有这个方法的实现,功能交给子类 * 值写出结构,而没有实现,实现交给子类(按自己的功能)去实现 * * 抽象类的作用: * 就是要求子类的结果,所以抽象类就是一个规范, * */ abstract class Person{ // 抽象类 public $name; public $age; abstract function eat(); abstract function say(); // 抽象方法 function run(){ } function sleep(){ } //$p = new Person; //抽象类不能实例化,不能创建出对象 class StudentCn extends Peeson{ function say(){ //将父类中的say抽象方法覆盖 echo "我是中国人,我说中文<br>"; } function eat(){ // 将父类中的eat抽象方法覆盖 echo "我是中国人,我用筷子吃饭"; } } class StudentEn extends Peeson{ function say(){ //将父类中的say抽象方法覆盖 echo "我是外国人,我说英语<br>"; } function eat(){ // 将父类中的eat抽象方法覆盖 echo "我是外国人,我用刀叉吃饭"; } } $s1 = new StudentCn(); $s1 => say(); $s1 => eat(); $s2 = new StudentEn(); $s2 => say(); $s2 => eat(); }; ?>
相关文章推荐
- 53 Java 抽象类和抽象方法
- 第十节--抽象方法和抽象类 -- Classes and Objects in PHP5 [10]
- 第十节 抽象方法和抽象类 [10]
- Java学习:抽象类,抽象方法
- OOP思想中的抽象类和抽象方法
- Java——抽象类和抽象方法
- 面向对象第十六课,抽象类,抽象方法
- 28. C# -- 抽象类和抽象方法
- 总结python抽象类和抽象方法的写法
- PHP5.0对象模型探索之抽象方法和抽象类
- PHP5面向对象中抽象类和抽象方法的应用
- 从头认识java-7.1 抽象类与抽象方法
- 回顾总结:Java中抽象类与抽象方法
- C#中的继承 (继承、抽象类和抽象方法、接口)【转载】
- JAVA的抽象类和抽象方法
- C#学习笔记——抽象类和抽象方法
- java的抽象类和抽象方法
- Java 抽象类与抽象方法
- PHP 对象 抽象方法和抽象类 abstract 接口iinterface
- 抽象类和抽象方法