php第六讲

继承和静态

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
Class Ren
{
const p = 3.1415926; //将某些类里面常用到的东西定义为常量
public static $class; //static关键字定义静态的
protected $name;
private $sex;
private $age;
public $code;
static function Test() //静态方法
{
echo self::$class; //调用自身类里面的静态成员
echo "静态方法!";
}
function __construct()
{
$this->sex = $s;
}
public function Say()
{
echo self::$class; //普通方法里面可以调用静态成员
echo "hello";
}
function __destruct() //析构函数,对象销毁前执行
{
echo "该对象销毁了";
}
function SetAge($a) //给age赋值的函数
{
if($a>10 && $a<50)
{
$this->age = $a;
}
}
function GetAge() //取age的值
{
return $this->age;
}

function __set($name,$value) //对类里面的私有成员进行赋值的魔术方法
{
$this->name = $value;
}
};
$r = new Ren("男");
$r->name = "张三";
$r->age = 100;
$r->Say();
$r->SetAge(10);
$r->Say();

$r->__set("name","张三");
$r->name = "李四"; //执行该语句会自动调用__set方法
info::$class = "0305";//访问静态成员

//echo $r->GetAge();

//面向对象三大特性
//封装
//目的:让类更加安全
//做法:1.把成员变量变为成私有的
//2.通过方法(函数)来间接的操作成员变量

//继承
//概念:如果一个类有子类,那么该子类会继承父亲的一切东西( 不包括私有的成员)
//在定义子类的时候需要加一个关键字:extends
//特点:单继承,一个儿子只能有一个父亲,一个类只能有一个父类
//如果父类中有构造函数,子类在实例化的时候要按照父类构造函数的标准来实例化
//子类对父类方法的重写:在子类中写一个同样的方法
//final:

class Test extends Info
{

public $code;

public $birthday;

function Run()
{
echo "fun";
}
function Say()
{
parent::Say(); //调用父类的Say()方法
echo "Test Say";
}
}

$T = new Test();
$t->code = "p001";
//echo $t->sex;
$t->Say();
$t->Run();

//静态成员
//类里面的普通成员是属于对象的,不是属于类的(调用的时候是用对先调用)
//什么叫做静态的:类静态
//定义静态成员用static关键字修饰
//静态方法里面无法调用普通成员
//静态方法可以调用静态成员,使用self关键字来调用
//self代表该类,$this代表该对象

?>
</body>
</html>

时间: 2024-10-12 23:42:13

php第六讲的相关文章

UI第六讲.UISegmentControl的使用,UISliser的使用,UIImageView的使用,UIControl的作用

一.UISegmentedControl的使用(分段控件) UISegmentedControl是iOS中的分段控件. 每个segment都能被点击,相当于集成了若干个button.通常我们会点击不同的segment来切换不同的view. 示例图: 常用方法: 示例代码: 基本的UISegmentControl的用法,同时通过其addtarget/action方法实点击切换view背景色的效果 效果图:点击UISegmentControl的item,切换背景色 二.UISlider的使用(滑块控

第六讲 map

2.  map简介 map是一类关联式容器.它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响.对于迭代器来说,可以修改实值,而不能修改key. 3.  map的功能 自动建立Key - value的对应.key 和 value可以是任意你需要的类型. 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000,000个记录,最多查找20次. 快速插入Key - Value 记录. 快速删除记录 根据Key 修

16位汇编第六讲汇编指令详解第二讲

16位汇编第六讲汇编指令详解第二讲 1.比较指令 CMP指令 1.CMP指令是将目的操作数减去源操作数,按照定义相应的设置状态标志 2.CMP指令执行的功能与SUB指令(相减指令)一样,但是不同的是CMP指令之根据结果设置标志位 而不修改值 可以操作的指令格式 CMP reg,imm/reg/mem CMP mem,imm/reg 上面是CMP指令的语法,具体的也可以查询帮助文档,inter手册 inter手册查的办法 第一个框代表了CMP指令的所有语法 比如 reg,reg 表示可以比较寄存器

(笔记)斯坦福机器学习第六讲--朴素贝叶斯

本讲内容 1. Naive Bayes(朴素贝叶斯) 2.Event models(朴素贝叶斯的事件模型) 3.Neural network (神经网络) 4.Support vector machines(支持向量机) 1.朴素贝叶斯 上讲中的垃圾邮件问题有几个需要注意的地方: (1)  一个单词只有出现和不出现两种可能,因此每个特征x只有两个取值 (2) 特征向量x的个数应该等于词典的长度,比如  将该算法一般化: (1) 让 可以取更多的值 此时  服从多项式分布,而不再是伯努利分布.一种

Stanford机器学习---第六讲. 怎样选择机器学习方法、系统

原文见http://blog.csdn.net/abcjennifer/article/details/7797502  添加了一些自己的注释和笔记 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Stand

机器学习基石第六讲:theory of generalization

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 机器学习基石第六讲继续讨论"学习是否可行的问题". Restriction of Break Point 继续前面的讨论,我们看mH(N)是否会有一个很小的增长速度.回顾前面的四种成长函数及其break point.我们知道k是一个成长函数的break point,那比k大的值全是break point. mH(N)是一个hypothesis在N个数据点上可以产生的dic

通达OA 培训课程第六讲课件 实际开发案例讲解(图文)

第六讲主要结合过去开发的一些实际典型应用案例来给大家进行一下通达的开发过程及开发成果,通过本课程的学习使学员能够更好的将前面学习的内容进行贯穿整合,从而真正掌握开发技能.

《上古天真论》第六讲文字版

上古天真论篇第六讲 主讲:徐文兵  主持:梁  冬 播出时间:2009-01-10  23:00—24:00 经文:帝曰:人年老而无子者,材力尽邪?将天数然也? 岐伯曰:女子七岁,肾气盛,齿更发长.二七而天癸至,任脉通,太冲脉盛,月事以时下,故有子.三七,肾气平均,故真牙生而长极. 梁冬:大家好,欢迎收听今天的国学堂之发现中医太美之<黄帝内经>之<上古天真论>.在过去的一段时间里呢,我们得以有幸啊,和厚朴中医学堂的徐文兵老师一起来逐字逐字地体会了<黄帝内经>的精妙,我都

蓝鸥零基础学习HTML5第六讲 CSS的常见样式

蓝鸥零基础学习HTML5第六讲 CSS的常见样式 CSS的常见样式 1.css文本样式的设置 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> div { font-size:160px; font-family: "sans-Seri

16位汇编第六讲汇编指令详解第第三讲

                                          16位汇编第六讲汇编指令详解第第三讲 1.十进制调整指令 1. 十进制数调整指令对二进制运算的结果进行十进制调整,以得到十进制的运算结果 2.分成压缩BCD码和非压缩BCD码调整 简而言之: 以前的时候你有个手表,里面的数字是九,如果加一个1就是0了,就会产生进位, 不过这个是10进制进位的,所以应该是 a了,但是a的话就出错了.所以我们就出来了这个调整指令直接变为零,然后进位,也就是16进制码当做10进制使用