/*
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. 李洪强漫谈iOS开发[C语言-002]-开发概述程序的本质与简单执行过程

    李洪强iOS开发之应用程序的本质与简单执行过程 什么叫程序? 就是一段执行指令 程序的两个状态: 保存状态(保存到硬盘上)   运行状态(由CPU执行) 代码可以执行吗? CPU(中央处理器-> ...

  2. onkeypress、onkeydown、onkeyup

    在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress.onkeydown.onkeyup三个事件进行出来.该三个事件的执行顺序如下:onkeydown -> onk ...

  3. 服务器上nginx反向代理的配置

    Nginx不但是一款高性能的Web服务器,也是高性能的反向代理服务器.下面简单说说Nginx的反向代理功能. 反向代理是什么? 反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发 ...

  4. redis中毒

    黑客用我们服务器挖矿了 新的一天的开始 周五早上刚到公司,同事来问我系统为啥打不开了?我第一反应就是肯定 Nginx 服务器挂了呗,立马就去登录服务器看看,但此时发现已经完全远程登录不上这台部署了 N ...

  5. Spring MVC可参数化的视图控制器

    以下示例显示如何使用Spring Web MVC框架来实现多动作控制器的可参数化视图控制器.可参数化视图允许将请求映射到网页. 所下所示配置 - import javax.servlet.http.H ...

  6. 模式识别之概率分布---平均分布,正态分布,一阶滑动和,一阶线性回归 C语言编程

    http://wenku.baidu.com/view/11cb1669a98271fe910ef9c6.html

  7. 在DLL中动态加载其所依赖的dll

    windows下LoadLibrary函数的搜索顺序是先搜索system32等系统环境变量path下注册过的路径,然后是当前路径. 这里的相对路径是指的主exe所在路径,并且相对路径在程序运行过程中可 ...

  8. cocos2dx - 部署到android真机上错误整理

    利用Cgywin编译工具来将cocos2dx 在Android运行所需要的C++文件编译 1. ./build_native.sh(最后一把执行出错) please define NDK_ROOT i ...

  9. Python抓取豆瓣《白夜追凶》的评论并且分词

    最近网剧<白夜追凶>在很多朋友的推荐下,开启了追剧模式,自从琅琊榜过后没有看过国产剧了,此剧确实是良心剧呀!一直追下去,十一最后两天闲来无事就抓取豆瓣的评论看一下 相关代码提交到githu ...

  10. jconsole监控JVM

    1.查找catalina.sh,使用tomcat中的catalina.sh 目录地址/opt/apache-tomcat-7.0.82/bin 2.配置JAVA_OPTS JAVA_OPTS=&quo ...