PHP中关于类的基本内容练习:

<?php
    class SportObject{

        public $name;
        public $height;
        public $avirdupois;

        public function __construct($name, $height,$avirdupois) {
            $this->name = $name;
            $this->height = $height;
            $this->avirdupois = $avirdupois;
        }

        function beatBasketball() {

            if ($this->height > 180 and $this->avoirdupois <= 100) {
                return $this->name.", 符合打篮球的要求。";
            } else {
                return $this->name.", 不符合打篮球的要求。";
            }
        }
        function showMe(){
            echo '这句话不会显示。';
        }
        function __destruct() {
            echo "<p><b>对象被销毁,调用析构函数。</b></p>";
        }
    }

    class BeatBasketBall extends SportObject{
        public $age;

        function __construct($name, $height, $age) {
            $this->name = $name;
            $this->height = $height;
            $this->age = $age;
        }
        function showMe() {
            if ($this->age > 18) {
                return $this->name.",符合打篮球的要求.";
            } else {
                return $this->name.",不符合打篮球的要求.";
            }
        }
    }

    class WeightLifting extends SportObject {
        function showMe() {
            if ( $this->avoirdupois < 85) {
                return $this->name.",符合举重.";
            } else {
                return $this->name.",不符合举重.";
            }
        }
    }

    $sport1 = new SportObject('流星', '185', '80');
    echo $sport1->beatBasketball();
    echo "<br>";
    $sport2 = new SportObject('天飞', '185', '80');
    echo $sport2->beatBasketball();
    echo "<br>";
    $Basketball = new BeatBasketBall('明日','190', '68');
    $weightlifting = new WeightLifting('科技', '185', '80', '20','男');
    echo "<br>";
    echo $Basketball->showMe();
    echo "<br>";
    echo $weightlifting->showMe();
    echo "<br>";

    class BookObject{
        const BOOT_TYPE = '计算机图书';
        public $object_name;

        function setObjectName($name) {
            $this->object_name = $name;
        }
        function getObjectName(){
            return $this->object_name;
        }
    }
    $c_book = new BookObject();
    $c_book->setObjectName("PHP类");
    #echo BookObject::BOOK_TYPE."->";
    echo $c_book->getObjectName();

    class C {
        function __call($name, $num) {
            echo "方法名称: ".$name."<p></p>";
            echo "参数存在的个数: ".count($num)."<p></p>";
            if (count($num) == 1) {
                echo $this->list1($a);
            }
            if (count($num) == 2) {
                echo $this->list2($a, $b);
            }
        }
        public function list1($a) {
            return "this is function list1";
        }
        public function list2($a, $b) {
            return "this is function list2";
        }
    }
    echo "<br>";
    $a = new C;
    $a->listshow(1, 2);
    echo "<br>";
    $b = new C;
    $b->listshow(1);

?>

这样就算会了PHP么?-11的更多相关文章

  1. 地区sql

    /*Navicat MySQL Data Transfer Source Server : localhostSource Server Version : 50136Source Host : lo ...

  2. 11.Object方法

    综述 Object是Java中所有类的父类,对它的学习十分的重要, Object的函数除了final方法,基本上都是被设计为要被覆盖的(Override),这节我们就一起来学习这些函数. 1.equa ...

  3. Linux0.11内核--内存管理之1.初始化

    [版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5597705.html ] Linux内核因为使用了内存分页机制,所以相对来说好理解些.因为内存 ...

  4. Ubuntu下用wireshark抓取802.11封包并进行过滤分析

    要用wireshark抓802.11的包 需要在linux下进行. 要在linux下抓802.11的包 需要在linux下安装无线网卡驱动. 所以 在正式抓取之前先把这两样东西搞起来. *没有特殊说明 ...

  5. C++11特性:auto关键字

    前言 本文的内容已经不新鲜了.关于auto,翻来覆去被人知道的都是这些东西,本文并没有提出新颖的auto用法. 本人原是痛恨博客一篇篇都是copy而来缺乏新意的探索,当然,本文不是copy而来,但发布 ...

  6. {转自MC}NVIDIA DirectX 11演示DEMO详解

    http://tieba.baidu.com/p/1960826986 图形技术无论如何发展,最终都要落到实际的应用中才有效果.在个人电脑上,图形技术最大的用户除了显示UI和操作界面外,就是呈现美轮美 ...

  7. Linux就这个范儿 第11章 独霸网络的蜘蛛神功

    Linux就这个范儿 第11章  独霸网络的蜘蛛神功  第11章 应用层 (Application):网络服务与最终用户的一个接口.协议有:HTTP FTP TFTP SMTP SNMP DNS表示层 ...

  8. 越狱Season 1-Episode 11: And Then There Were 7-M

    Season 1, Episode 11: And Then There Were 7-M -Michael: That one 那个 -businessman: Nice choice choice ...

  9. 802.11 wireless 二

    802.11 wireless 2wireless spectrum(无线频谱)1.无线网络使用RF(射频)信号2.无线电也是电磁波3.频谱基于波长被划分,归为多个类型4.无线网络被归为微波段(mic ...

随机推荐

  1. codeforces Ilya and Matrix

    http://codeforces.com/contest/313/problem/C #include <cstdio> #include <cstring> #includ ...

  2. CPU卡中T=0通讯协议的分析与实现

    IC卡的应用越来越广泛,从存储卡到逻辑加密卡,目前CPU卡已经逐渐在应用中占据主导地位.CPU卡根据通讯协议可分为两种:接触式和非接触式.接触式CPU卡主要采用两种通讯协议:T=0和T=1通讯协议.T ...

  3. Qt中用QSS切分图片

    Qt设计时有时需要实现动态按钮,按钮点击时一个状态,鼠标悬浮时一个状态,离开时一个状态,静止时一个状态.可以用一张png长图,使用QSS分段截取,分配给每一个状态.    1.调用函数 SetButt ...

  4. UML--对象的介绍

    UML相对于学习UML的符号含义而言,掌握它们背后的方法和思想是更为重要的.软件是一种实践知识,仅仅靠书本不可能成为高手.书本只能给出思路和知识点,而掌握和消化这些知识则必须在实践中去完成. 如果我们 ...

  5. 【剑指offer】面试题41:和为 s 的两个数字 VS 和为 s 的连续正数序列

    题目: 输出所有和为S的连续正数序列.序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序 思路: small代表序列最小数字,large代表序列最大数字.初始化small为1,large为2. ...

  6. struts的ognl.NoConversionPossible错误

    JSP页面便利集合的时候,代码如下 <s:iterator value="storageList" id="stList" status="st ...

  7. (转)iOS7界面设计规范(7) - UI基础 - 交互性与反馈

    现在只是周日下午,可怎样都觉得整个周末就这样即将过去了,不免沮丧.看了好多集小丸子了,又不免觉得现在其实是在放暑假,可以一天一天的窝在家里做任何事,任何事.再上一篇iOS7设计规范,然后本周末就到这里 ...

  8. js为鼠标添加右击事件

    <script language="javascript">  /*document.oncontextmenu=Youji;*/  //为当前文档添加鼠标右击事件,防 ...

  9. JavaScript运算符有哪些

    JavaScript中的运算符有很多,主要分为算术运算符,等同全同运算符,比较运算符,字符串运算符,逻辑运算符,赋值运算符等.这些运算符都有一些属于自己的运算规则,下面就为大家介绍一下JavaScri ...

  10. [华为机试练习题]55.最大公约数 &amp; 多个数的最大公约数

    题目 描写叙述: 输入2个数字,最后输出2个数字的最大公约数 题目类别: 位运算 难度: 0基础 执行时间限制: 无限制 内存限制: 无限制 阶段: 入职前练习 输入: 2个整数 输出: 输出数字1和 ...