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. poj2425--A Chess Game

    题意:给定一棵有向图的树,有些节点上有石子,每次可以取一个石子向一个有向边移动,不能移动者负. Ans:树上nim,叶子节点nim为0,父亲节点递归儿子得到sg值,答案就是每个石子所在点的sg值异或和 ...

  2. 自制单片机之九……写给对制做并口ISP下载线有疑惑的朋友

    一.器件的选用 制做并口ISP下载在网上有很多的电路和对应的PC端下载软件.很多人疑惑,不知该用哪张图,用哪个下载软件.我看了一下,采用的器件主要是74HC373.74HC541和74HC244.其实 ...

  3. Qt跨线程信号和槽的连接(默认方式是直连和队列的折中)

    Qt支持三种类型的信号-槽连接:1,直接连接,当signal发射时,slot立即调用.此slot在发射signal的那个线程中被执行(不一定是接收对象生存的那个线程)2,队列连接,当控制权回到对象属于 ...

  4. 关于老驱动不能在windows 8下正常安装的问题

    问题: 老驱动(WDF),能在windows 7下安装并工作,但是不能在windows 8下安装. 先了解下windows 8驱动的新东西吧: New for windows 8 http://msd ...

  5. Cmake的install与file命令的区别

    实际上他们两个可以达到一个目标(对于文件操作),但是又有本质上的区别,文档没有细看,但是一般利于项目的管理,使用install,install命令如果在cmake命令中没有指名install参数,实际 ...

  6. [poj 1364]King[差分约束详解(续篇)][超级源点][SPFA][Bellman-Ford]

    题意 有n个数的序列, 下标为[1.. N ], 限制条件为: 下标从 si 到 si+ni 的项求和 < 或 > ki. 一共有m个限制条件. 问是否存在满足条件的序列. 思路 转化为差 ...

  7. iptables 顺序

    -A INPUT -s 115.236.6.6/32 -p udp -m udp --dport 111 -j ACCEPT -A INPUT -s 10.175.197.98/32 -p udp - ...

  8. 2015.11.27初识java一集简单的java小程序

    JAVA配置环境变量方法: 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME变量值:D:\Java\jdk1.7.0_ ...

  9. c3p0数据源定义

    <!-- c3p0 connection pool configuration --> <bean id="testDataSource" class=" ...

  10. HDU 多校联合练习赛2 Warm up 2 二分图匹配

    Warm up 2 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...