0607am抽象类&接口&析构方法&tostring&小知识点
/*
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 Animal
{
}
$d=new Ren();
var_dump($d);
//接口:极度抽象的类,里面的方法要重写
//关键字 interface
//里面的方法没有函数体
//实现接口使用的关键字是implements,不是extends
//实现接口的子类必须要实现接口中的每个方法
interface Animal2 //不要加class
{
}
class Ren2 extends Animal2
{
}
//实例
interface USB
{
function Read();
function Write();
}
class Mouse implements USB
{
function Read()
{
echo "插入了鼠标";
}
function Write()
{
echo "通电给鼠标";
}
}
$m=new Mouse();
$m->read();
$m->Write();
//析构方法:在对象销毁之前,将内存释放,链接关闭and so on
class ren
{
public $name;
//析构方法
function __destruct()
{
echo "该对象销毁了";
}
}
//写法特殊:__destruct
//执行时间特殊,销毁时执行
$r=new ren();
$r->name="张丹";
var_dump($r);
//tostring可以在输出对象时候调用,必须有一个返回值
class ren
{
public $name;
public $sex;
public $age;
function run()
{
}
function show()
{
echo "name代表姓名,sex代表性别,age代表年龄";
}
function __tostring()
{
// return "name代表姓名,sex代表性别,age代表年龄";
return $this->name;
}
}
$r=new ren();
$r->show();
echo $r;
//其他小知识点
$a=10;
$b=20;
$c=25;
if(!isset($b)) //判断是否存在
{
echo "变量b不存在";
exit;//退出程序
die("变量B不存在!");//输出错误信息并且退出程序
}
echo $a+$b;
echo $a*$b;
//输出数组
$attr=array(1,2,3,4);
var_dump($attr);
print_r($attr);
echo "hello","haha";//可以输出多个字符串
print"helo";//只能输出一个
//加载类 命名:ren.class.php
class ren
{
public $name;
public $sex;
public function say()
{
echo "hello";
}
}
//引用类,加载类
include("ren.class.php");
require_once("ren.class.php");//写在文件顶端,如果出现错误,代码停止执行
require_once"ren.class.php";
//自动加载项
//1.所有的类的文件命名,要求使用同一个规则
//2.文件名里面必须有类名
//3.所有类文件必须在同一个文件夹下
//用的很少,
function __autolode($classname)
{
require $classname.".class.php";
}
0607am抽象类&接口&析构方法&tostring&小知识点的更多相关文章
- PHP其它常用函数;<<<面向对象(OPP)的三大特性:封装、继承、加态:>>> <----面试题 ;构造方法、析构方法,魔术方法、set、get方法;静态;抽象类;接口
PHP其它常用函数: 赋值:$r->name = "元素"; 取值: echo $r->name; count() 计算数组中的元素数目或对象中 ...
- .net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串
1.继承(1)创建子类对象的时候,在子类对象中会为子类对象的字段开辟空间,也会为父类的所有字段开辟空间,只不过父类私有的成员访问不到(2)子类从父类继承父类所有的非私有成员,但是父类的所有字段也会创建 ...
- Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API
不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权 ...
- Java接口和抽象类的实现方法
一.java中的接口本质上是加约束的抽象类 //抽象类 public abstract class AExample { public abstract int add(int x,int y); p ...
- C# 你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 )
你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 ) 一个家庭 相当于 一个空间,这个空间里 有 很多元素,比如 爱,爱这个抽象事物,可能有很多动作,接吻.交流,对于一 ...
- java小知识点简单回顾
1.java的数据类型分为两种:简单类型和引用类型(数组.类以及接口).注意,java没有指针的说法,只有引用.简单类型的变量被声明时,存储空间也同时被分配:而引用类型声明变量(对象)时,仅仅为其分配 ...
- 速战速决 (4) - PHP: 类基础, 抽象类, 接口, trait
[源码下载] 速战速决 (4) - PHP: 类基础, 抽象类, 接口, trait 作者:webabcd 介绍速战速决 之 PHP 类基础 抽象类 接口 trait 示例1.类的相关知识点 1(基础 ...
- Java抽象类接口、内部类题库
一. 选择题 1. Person类和Test类的代码如下所示,则代码中的错误语句是( C ).(选择一项) public class Person { public String nam ...
- android 小知识点
小知识点总结 1. android中MotionEvent.ACTION_CANCEL事件如何被触发? 对于这个问题,android文档的说明很简短,想看明白很难.国外一网页说的还比较详细,写在这里分 ...
随机推荐
- JavaScript之字符串、对象及操作符
字符串-String 字符串就是字符序列. 字符串中,有些特殊字符,叫做字面量,常见的字面量如下表: 判断字符串长度使用length属性 text.length; 字符串拼接 var a = 'Jav ...
- (html)前端如何验证token的合法性来判断用户是否登录?
问题: (html)前端如何验证token的合法性来判断用户是否登录?描述: 1.我使用了JWT的方式,后端生成了一个token,将其返回给前端,前端获取到后每次请求接口都附带上这个token,后端来 ...
- 设置一个label显示多种颜色,多种字体大小
UILabel* label = [[UILabel alloc] init]; label.frame = CGRectMake(0, 100, 200, 100); label.textColor ...
- collection动画
Collection View 动画 吴迪 12 May 2014 分享文章 UICollectionView 和相关类的设置非常灵活和强大.但是灵活性一旦增强,某种程度上也增加了其复杂性: UICo ...
- Alluxio部署(local模式)
下载(pre-build for Hadoop 2.7) http://www.alluxio.org/download` 解压 tar -xvf alluxio-1.3.0-hadoop2.7-bi ...
- MD5摘要(Java实现)
消息摘要算法又成散列算法,其核心在于散列函数的单向性.即通过散列函数可获得对应的散列值,但不可以通过散列值反推其原始信息. 消息摘要算法分为以下三大类: MD(Message Dige ...
- 【转】Monkey测试6-Monkey Test Log
Moneky Test Log 分析: 首先用一个最简单的例子分析:monkey --pct-trackball 0 --throttle 100 -v 500/*p参数: 表示指定测试的程序/*v参 ...
- 我的第三个java程序 两数相加
import java.util.Scanner; public class Test { public static void main(String [] args) { Scanner sc = ...
- 关闭QQ看点
手机qq联系人 然后右上角公众号 然后看到看点 取消关注!!!
- Vue实现远程获取路由与页面刷新导致404错误的解决
一.背景 先简单介绍一下现在项目情况:前后端分离,后端服务是Java写的,前端是Vue+ElementUI. 最近的一个需求是:通过后端Api去获取前端路由表,原因是每个登录角色对应的前端路由表可能是 ...