年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1526|回复: 0

PHP基本的封装与继承实例

[复制链接]
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

    发表于 2015-12-31 18:02:52 | 显示全部楼层 |阅读模式
    [PHP] 纯文本查看 复制代码
    <?php
    	
    	class Person{
    				
    		protected $name, $age, $sex;
    		
    		// 构造函数(即为初始化方法,通过类名括号传参数)
    		function __construct($name, $age, $sex){
    			$this->name = $name;
    			$this->age = $age;
    			$this->sex = $sex;
    		}
    		
    		function say(){
    			return "(名字:{$this->name})、(年龄:{$this->age})、(性别:{$this->sex})";
    		}
    		
    		function eat(){
    			echo "eating ....<br/>";
    		}
    		
    		function run(){
    			
    		}		
    		
    	}
    	class Student extends Person{
    		
    		private $school;
    
    		// 相同名字方法即为覆盖
    		function __construct($name, $age, $sex, $school){
    			// 先调用父类方法,再扩展子类特性
    			parent::__construct($name, $age, $sex);
    			$this->school = $school;
    		}
    		
    		function study(){
    			
    			
    		}
    		
    		function say(){
    			return  parent::say()."、(学校:{$this->school})";
    		}
    		
    	}
    	
    	class Teacher extends Person{
    		
    		function teach(){
    			
    			
    		}
    	}
    	$person = new Person("rose", 22, "女");
    	echo $person->say()."<br/>";
    	$student = new Student("jake", 24, "男", "林大");
    	echo $student->say()."<br/>";
    	

    运行结果:
    (名字:rose)、(年龄:22)、(性别:女)
    (名字:jake)、(年龄:24)、(性别:男)、(学校:林大)
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-5-2 03:30 , Processed in 0.056966 second(s), 18 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表