/*
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&小知识点的更多相关文章

  1. PHP其它常用函数;<<<面向对象(OPP)的三大特性:封装、继承、加态:>>> <----面试题 ;构造方法、析构方法,魔术方法、set、get方法;静态;抽象类;接口

    PHP其它常用函数:     赋值:$r->name = "元素";      取值: echo $r->name;  count()   计算数组中的元素数目或对象中 ...

  2. .net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串

    1.继承(1)创建子类对象的时候,在子类对象中会为子类对象的字段开辟空间,也会为父类的所有字段开辟空间,只不过父类私有的成员访问不到(2)子类从父类继承父类所有的非私有成员,但是父类的所有字段也会创建 ...

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

    不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权 ...

  4. Java接口和抽象类的实现方法

    一.java中的接口本质上是加约束的抽象类 //抽象类 public abstract class AExample { public abstract int add(int x,int y); p ...

  5. C# 你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 )

    你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 )   一个家庭 相当于 一个空间,这个空间里 有 很多元素,比如 爱,爱这个抽象事物,可能有很多动作,接吻.交流,对于一 ...

  6. java小知识点简单回顾

    1.java的数据类型分为两种:简单类型和引用类型(数组.类以及接口).注意,java没有指针的说法,只有引用.简单类型的变量被声明时,存储空间也同时被分配:而引用类型声明变量(对象)时,仅仅为其分配 ...

  7. 速战速决 (4) - PHP: 类基础, 抽象类, 接口, trait

    [源码下载] 速战速决 (4) - PHP: 类基础, 抽象类, 接口, trait 作者:webabcd 介绍速战速决 之 PHP 类基础 抽象类 接口 trait 示例1.类的相关知识点 1(基础 ...

  8. Java抽象类接口、内部类题库

    一.    选择题 1. Person类和Test类的代码如下所示,则代码中的错误语句是(  C  ).(选择一项)   public class Person { public String nam ...

  9. android 小知识点

    小知识点总结 1. android中MotionEvent.ACTION_CANCEL事件如何被触发? 对于这个问题,android文档的说明很简短,想看明白很难.国外一网页说的还比较详细,写在这里分 ...

随机推荐

  1. Windows Mobile X图标如何销毁窗体而非隐藏

    在Windows Mobile窗体上,有“OK”和“X”两种形式按钮.1.在Form的属性里,设置“MinimizeBox=false”,则窗体显示”OK”,点击该按钮窗体销毁并退出.2.设置“Min ...

  2. iconv c 代码学习

    (struct stringpool_t *)0)->stringpool_str15 含义为: 1.创建一个结构体stringpool_t 指针(struct stringpool_t *) ...

  3. script 标签里的 async 和 defer

    无 async 和 defer 浏览器立即加载并执行指定脚本(读到即加载并执行),阻塞文档解析 async 脚本的加载执行和文档的加载渲染 并行. defer 脚本的加载和文档的加载渲染并行,但脚本的 ...

  4. java中过滤四字节字符

    private static final String FOUR_BYTE_FILTER = "[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff]& ...

  5. 封装ShareSDK中的分享功能封以及对类似第三方功能封装的心得【原创】

    本篇的主题有三个: 1.封装思想的介绍 2.我的封装代码 3.我在封装sharesdk(采用的是简洁版本)分享功能是碰到的问题,以及解决方法. PS:其实这个我之前封装过一次,不过最近在重构项目时发现 ...

  6. UITabelViewCell自定义(zhuan)

    很多时候,我们需要自定义UITableView来满足我们的特殊要求.这时候,关于UITableView和cell的自定义和技巧太多了,就需要不断的总结和归纳.   1.添加自定义的Cell.   这个 ...

  7. 配置LANMP环境(1)-- 安装虚拟机VMware与安装CentOS7.2系统

    一.安装虚拟机VMware 1.下载VMware傻瓜式安装 2.配置                二.安装CentOS7.2系统 镜像下载链接 1.放入ios镜像文件之后,启动虚拟机,选择7.0+的 ...

  8. Gold Balanced Lineup - poj 3274 (hash)

    这题,看到别人的解题报告做出来的,分析: 大概意思就是: 数组sum[i][j]表示从第1到第i头cow属性j的出现次数. 所以题目要求等价为: 求满足 sum[i][0]-sum[j][0]=sum ...

  9. 个人博客开发之xadmin 布局和后台样式

    项目源码下载:http://download.vhosts.cn 一. xadmin 后台配置注册信息 1. 在apps 的blogs 和 users 两个app中添加adminx.py文件 vim ...

  10. poj 2513(欧拉路径+字典树映射)

    题目链接:http://poj.org/problem?id=2513 思路:题目还是很简单的,就是判断是否存在欧拉路径,我们给每个单词的头和尾映射序号,统计度数.对于给定的无向图,当且仅当图连通并且 ...