继承
extends 关键字来继承类
被继承的类,我们称之为父类
继承后的类,我们称之为子类
子类继承父类非私有的属性和方法

public 在本类,子类,以及类的外部都访问
protected 保护型的属性,自己以及子类能访问
private 私有的不能被继承,只能自己访问
子类可以访问父类的非私有的属性和方法, 使用$this关键字访问

覆盖:子类中声明与父类相同名称的属性和方法,
属性被覆盖后,就无法访问父类的属性
方法被覆盖后,依旧可以访问父类的方法 parent::方法名()

final修饰类和方法
被final修饰的类是不能被继承
被final修饰的方法不能被子类覆盖

static修饰属性和方法
属性
static修改的属性是可以修改的,是所有实例共享,也就是属于类,非静态的是每个对象都会保存一份不一样的
访问:本类中使用 self::$属性名 父类中使用 parent::$属性名
方法
static修饰的方法,它里面只能使用静态属性和静态方法,不能使用普通的属性和普通的方法
访问:类名::静态方法() self::静态方法()
静态方法和属性的用途,单例设计模式:
设计模式其实就是前人总结的一些规律
作为对象的创建模式,单例设计模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局提供这个单例,它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用

接口
声明
interface 接口名{
//方法是不能有实现
function 方法名();
}
实现接口
class 类名 implements 接口1,接口2{
//必须要实现接口中定义的方法,否则会报错
}

抽象类
声明
abstract class 类名{
//抽象类当中也可以包含有实现的方法
function 方法名(){
//
}
//抽象方法不能有实现,一个抽象类中必须要有一个抽象方法
abstract function 方法名();
}
使用
class 类 extends 抽象类{
//实现我们的抽象方法
function 方法名(){

}
}

魔术方法
__toString 当将对象直接输出时,会调用此魔术方法,此方法返回一个字符串
__call 当调用的方法不存在时
__callStatic 当调用的静态方法不存在时
__get 当访问不存在的属性
__set 当给不存在的属性赋值时

php面向对象--继承的更多相关文章

  1. OC面向对象—继承

    OC面向对象—继承 一.基本概念 程序的世界和人类的“对象”世界在思想上是没有设么区别的,富二代继承了父母,自然就拥有了父母拥有的所有资源,子类继承了父类同样就拥有了父类所有的方法和属性(成员变量). ...

  2. 面向对象继承实例(a如何继承b)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. js面向对象继承

    前言 最近看到js面向对象这章节了,主要学习了原型和面向对象继承关系,为了梳理自己的知识逻辑,特此记录. js的面向对象 先说说我目前了解的js创建对象方法 1.写一个函数,然后通过new创建对象 2 ...

  4. Php面向对象 – 继承和重写

    Php面向对象 – 继承和重写 承受: php于,通过类.使用特殊的经营宗旨. 通过定义类,采用extends来表示当前的类对象继承该类的对象. 样例: class C { public  $p_c  ...

  5. Java面向对象 继承(下)

     Java面向对象   继承(下) 知识概要:               (1)抽象类 1.1 抽象类概述                            1.2 抽象类的特点       ...

  6. Java面向对象 继承(上)

       Java面向对象 继承 知识概要:         (1)继承的概述 (2)继承的特点 (3)super关键字 (4)函数覆盖 (5) 子类的实例化过程 (6) final关键字 (1)继承 ...

  7. js高级-面向对象继承

    一.工厂模式创建对象及优缺点 继承就是把公共的部分抽象出来作为父类,基类.吃饭,跑步等 var a = {}; //批量创建不方便,不能重复设置公共属性的代码 //工厂模式出现了,创建10个Cat对象 ...

  8. 面向对象 继承 抽象类 接口 static 权限修饰符

    Day01 面向对象 继承 抽象类 接口 static 1.匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. 2.类的继承是指在一个现有类的基础上去构建一个新的类,构建出 ...

  9. Python之面向对象继承和派生

    Python之面向对象继承和派生 什么是继承: 继承是一种创建新的类的方法.在Python中,新建的类可以继承自一个或多个父类.原始类称为基类或超类. 新建的类称为派生类或子类. Python中类的继 ...

  10. javaScript面向对象继承方法经典实现

    转自原文javaScript面向对象继承方法经典实现 JavaScript的出现已经将近20多年了,但是对这个预言的褒贬还是众说纷纭.很多人都说JavaScript不能算是面向对象的变成语言.但是Ja ...

随机推荐

  1. jQuery元素操作1

    元素操作 1.2.1 高度和宽度 $(“div”).height(); // 高度 $(“div”).width(); // 宽度 .height()方法和.css(“height”)的区别: 1. ...

  2. xadmin 问题总结

    pip install django-import-export

  3. Okra框架(一) 简介

    Okra是一个构建在Netty框架和Disruptor框架之上轻量级JAVA服务器框架. 使用Netty实现高性能,可灵活扩展的网络通信,使用Disruptor实现高吞吐量,低延迟的并发. Okra主 ...

  4. sama5 kio接口控制

    //example #include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <str ...

  5. 简单好用的包管理器 brew

    Homebrew 是什么? macOS 上的包管理器,相当于 Debian 系的 apt-get ,或者是 Redhat 系的 yum . Homebrew 有什么用? 帮你安装一些系统默认没有安装但 ...

  6. 使用JavaScript获取select元素选中的value和text

    示例代码如下(js直接写在了html里面,没有写在一个单独的外部文件中): <!DOCTYPE html> <html> <head> <meta name= ...

  7. 树莓派+android things+实时音视频传输demo之遥控小车

    做了个测试小车,上面安装了摄像头,通过外网进行视频传输: https://www.bilibili.com/video/av23817880/

  8. 使用asp.net调用谷歌地图api

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> ...

  9. 关于Unity中的.meta文件

    .meta文件是用于辅助管理Unity资源文件的文件,删除后,Unity会自动生成,里面记录了各个资源Inspector的信息,属性等等,Unity是不会改变源资源文件的,没有意义,它是靠.meta文 ...

  10. Python之修改文件MD5值

    import os def fileAppend(filename): myfile = open(filename,'a') myfile.write("####&&&am ...