PHP抽象接口析构方法

/*class Ren
{
public static $color;
static function Show()
{
Ren::$color;//用类名不仅可以调用自己的,还可以调用其他类的Car::$name
self::$color;//用self只能调用该类
}
}
class Car
{
public static $name;
}*/
//抽象类 关键词abstract
/*abstract class DongWu
{
public $dong;
public $jiao;
function Chi()
{
}
function Shui()
{
}
}*/
//接口:极度抽象的类 继承自接口 必须实现接口里的方法,重写
//接口关键字interface 接口里面的方法没有函数体 实现接口使用的关键字 implement,不用extends 实现接口的子类必须实现接口的每个方法
/*interface DongWu//使用interface关键字就不加class
{}
class Ren extends DongWu
{
}
$r=new Ren();
var_dump($r);*/
//$d=new DongWu();
/*interface USB
{
function Read();
function Write();
}
//鼠标
class Mouse implements USB
{
function Read()
{
echo"插入鼠标";
}
function Write()
{
echo"通电鼠标";
}
}
//键盘
class JianPan implements USB
{
function Read()
{
echo"插入键盘";
}
function Write()
{
echo"通电键盘";
}
}
$m=new Mouse();
$m->Read();
$m->Write();*/
class Ren
{
public $name="张三";
public $sex;
public $age;
function Run()
{
}
function show()
{
echo"name代表姓名,sex代表性别";
}
//析构方法 关键字__destruct 在对象销毁之前,将内存释放,连接关闭等
function __destruct()
{
echo"销毁了";
}
//在输出对象的时候调用,必须有一个返回值
function __tostring()
{
//return"name代表姓名,sex代表性别"
return $this->name;
}
}
//写法特殊 __destruct
//执行时间特殊 在对象销毁的时候执行
/*$r=new Ren();
$r->name="张三";
var_dump($r);*/
$r=new Ren();
//$r->show();
echo $r;//直接输出对象 __tostring()把对象变成字符串的方法
//小知识点
$a=10;
$b=20;
$c=25;
unset($b);
/*if(isset($b))
{
$sum=$a+$b;
echo $sum;
echo "<br>";
echo $a*$sum;
}*/
if(!isset($b))
{
/*echo"变量b不存在";
exit();//退出程序*/
die("变量b不存在");//输出错误信息并退出程序
}
$sum=$a+$b;
echo $sum;
echo "<br>";
echo $a*$sum;
$attr=array(1,2,3,4);
$a = "hello";
var_dump($attr);//数据和类型
print_r($attr);//数据
echo "hhh","hh";//可以输出多个字符串 中间用逗号
print "rr"; //只能输出一个字符串

时间: 2024-10-12 04:05:07

PHP抽象接口析构方法的相关文章

0607am抽象类&amp;接口&amp;析构方法&amp;tostring&amp;小知识点

/*class ren{ public static $color;//静态 static function () { ren::$color; self::$color;//self只能写在类里面,代表这分类 }} */ //不能实例化的类:抽象类abstract class Animal //关键字abstract{ public $dong; public $jiao; function chi() { } function shui() { }}class Ren extends Ani

什么?接口中方法可以不是抽象的「JDK8接口新语法的深度思考」

先赞后看,养成习惯 文本已收录至GitHub开源仓库 Lu_JavaNodes 码云仓库地址Lu_JavaNodes,包含教程涉及所有思维导图,案例代码和后续讲解视频,欢迎Star增砖添瓦. 前言 在传统的接口语法中,接口中只可以有抽象方法.在是在实际的使用中,我们往往会需要用到很多和接口相关的功能(方法),这些功能会单独的拿出开放在工具类中. 工具类:类中所有的方法都是静态的 例如:Collection 和 Collocations,Collection 是一个集合接口,而我们需要很多集合相关

2.35 Java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别

java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别 一.抽象 abstract作用:不能产生对象,充当父类,强制子类正确实现重写方法和类相比仅有的改变是不能产生对象,其他的都有,包括构造.属性等等任何一个类只要有一个抽象的方法就成了抽象类 抽象方法 public abstract A();①方法是抽象的,这个类也是抽象的:②子类必须重写抽象方法,除非子类也是抽象类 抽象类可以没有抽象方法,但一般不这么设计 二.接口 interface 接口也是Java的一种引用数据类型(J

C#中接口和方法的运用(Fourteenth Day)

由于周五我有一些事情没来得及总结当天的知识,所以在今天总结一下周五在云和学院所学到的有关委托的知识. 理论: 接口: •接口的定义:interface关键字,接口中可以有属性.方法(未实现) •接口的名称通常以“I”开头,如IList •如果一个类即继承了类又实现了接口,那么类必须写在前面.一个类只能继承一个父类,但可以实现多个接口. •class Student : Person , IComparable(这是已经定义好的接口) •完全抽象的一种约定 •接口就是用来实现的 •语法: [访问修

Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API

不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权限修饰符,默认访问, 类,方法,成员变量 private 权限修饰符,私有访问, 方法,成员变量 static 静态修饰符 方法,成员变量 final 最终修饰符 类,方法,成员变量,局部变量 abstract 抽象修饰符 类 ,方法 我们编写程序时,权限修饰符一般放于所有修饰符之前,不同的权限修饰

黑马程序员---java基础-Java类 继承&amp;抽象&amp;接口

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.继承 继承是所有OOP语言不可缺少的部分,在java中使用extends关键字来表示继承关系.当创建一个类时,总是在继承,如果没有明确指出要继承的类,就总是隐式地从根类Object进行继承.比如下面这段代码: 1 class Person { 2 public Person() { 3 4 } 5 } 6 class Man extends Person { 7 public Man()

Java抽象接口技巧(一)

原文链接 http://blog.csdn.net/qq_35101189/article/details/70799155 在程序设计过程中,读者很可能遇到这样一种困境:设计了一个接口,但实现这个接口的子类并不需要实现接口中的全部方法,也就是说,接口中的方法过多,对于某些子类是多余的,我们不得不浪费的写上一个空的实现. 今天小菜提到的"抽象接口",就是用来解决这个问题的. 为了不误导读者,先说明一下,什么是"抽象接口". 所谓"抽象接口",即在

类的继承,抽象类,接口,方法重写和重载

类的继承 C#与java:1.C#中继承用“:”,Java中继承用extends2.重写父类的方法,C#中需要关键字override,Java中不需要3.C#中调用父类的成员用base,Java中使用super4.子类的构造方法中如果没有显示的调用父类的构造方法,   编译器会自动在第一行代码添加super() 抽象类: 1.含有抽象方法的类必须是抽象类,抽象类中不一定有抽象方法2.抽象类的子类如果是抽象类,可以不需要重写父类的抽象方法3.抽象类不能被实例化,构造方法和静态方法不能是抽象的 接口

C#资源释放及Dispose、Close和析构方法

备注:此文的部分观点有误,之所以仍旧保留本文,是需要在后期给出一个勘误版.正确的版本在这里“C#中标准Dispose模式的实现” 一:什么是资源 在开始本文前,需要一些准备知识.首先要提出“什么是资源”.在CLR出来之后,Windows系统资源开始分为“非托管资源”和“托管资源”. 非托管资源是指:所有的Window内核对象(句柄)都是非托管资源,如对于Stream,数据库连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到CLR管理: 托管资源是指:由CLR管理分配和释放的资源,即