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 13C Sequence

    http://codeforces.com/contest/13/problem/C 题目大意 给定一个含有N个数的序列,要求你对一些数减掉或者加上某个值,使得序列变为非递减的,问你加减的值的总和最少 ...

  2. ISO7816标准IO通讯方面的需求

    以下需求适用于符合ISO7816的Reader的测试:换句话说只要Reader能通过以下指令,就基本符合了ISO7816标准,具体需求为: 1 概述 本文档主要描述CDCAS系统中用到的CA证书的格式 ...

  3. 【Xamarin开发 Android 系列 8】 创建一个Json读取数据应用(上)

    后续将内容贴上来...........

  4. Cmake ,Out of Source Build

    Out of Source build呢,就是让Cmake产生的临时垃圾文件,不关乎于项目实际本身的文件放到一个目录里,一般我们把这个目录放在项目根目录(也可以认为是根CmakeLists.txt)下 ...

  5. bzoj1619[Usaco2008 Nov]Guarding the Farm 保卫牧场

    Description The farm has many hills upon which Farmer John would like to place guards to ensure the ...

  6. libeXosip2(2-2) -- eXosip2 network API

    eXosip2 network API General purpose API. Functions int  eXosip_transport_set (osip_message_t *msg, c ...

  7. 15个提高编程技巧的JavaScript工具

    原文地址:http://www.imooc.com/wenda/detail/243523 JavaScript脚本库是一个预先用JavaScript语言写好的库,它方便了我们开发基于JavaScri ...

  8. hdu3415:最大k子段和,单调队列

    题目大意:给定长度为n的数组,求出最大的区间和,其中区间长度在[1,k]之间 分析: 学动态规划的时候我们会遇到一个经典问题 最大子段和,这个题跟最大子段和很类似 不同的是区间的长度有限制,无法用原算 ...

  9. poj3696:同余方程,欧拉定理

    感觉很不错的数学题,可惜又是看了题解才做出来的 题目大意:给定一个数n,找到8888....(x个8)这样的数中,满足能整除n的最小的x,若永远无法整除n 则输出0 做了这个题和后面的poj3358给 ...

  10. 第30讲 UI组件之 GridView组件

    第30讲 UI组件之 GridView组件 1.网格布局组件GridView GridView是一个ViewGroup(布局控件),可使用表格的方式显示组件,可滚动的控件.一般用于显示多张图片,比如实 ...