找回密码
 立即注册
搜索
查看: 1844|回复: 0

[面向对象] 【OOP代码示例】构造方法与析构方法

[复制链接]

581

主题

110

回帖

4066

积分

管理员

积分
4066

众神之神

发表于 2016-1-27 17:06:02 | 显示全部楼层 |阅读模式
构造方法
  1. <?php
  2. class person{
  3.    
  4.     public $name;
  5.     public $age;
  6.     public $sex;

  7.     /**
  8.      * 构造方法 __construct() 是在实例化对象时被自动调用
  9.      * 用途:可以用于初始化程序(可以给成员属性赋值,也可以调用成员方法)
  10.      * 语法 [修饰符] function __construct(参数列表...){ 初始化流程 }
  11.      */
  12.     public function __construct($n, $a, $s = '男'){
  13.         $this -> name = $n;
  14.         $this -> age = $a;
  15.         $this -> sex = $s;
  16.         $this -> say();
  17.     }

  18.     public function say(){
  19.         echo "我的名字是:{$this -> name},我的年龄是:{$this -> age},我的性别是:{$this -> sex}";
  20.     }
  21. }

  22. //实例化对象时要按构造方法的参数去传对应的值
  23. $person1 = new person("张三",18);

  24. echo $person1 -> name;
  25. echo "<br />";
  26. echo $person1 -> age;
  27. echo "<br />";
  28. echo $person1 -> sex;
  29. echo "<br />";
  30. $person1 -> say();
  31. echo "<hr />";
  32. $person2 = new person("李四",30,"女");
  33. echo $person2 -> name;
  34. echo "<br />";
  35. echo $person2 -> age;
  36. echo "<br />";
  37. echo $person2 -> sex;
  38. echo "<br />";
  39. $person2 -> say();
  40. echo "<hr />";
  41. $person3 = new person("王五",20,"男");
  42. echo $person3 -> name;
  43. echo "<br />";
  44. echo $person3 -> age;
  45. echo "<br />";
  46. echo $person3 -> sex;
  47. echo "<br />";
  48. $person3 -> say();
复制代码
析构方法
  1. <?php
  2. class person{
  3.    
  4.     public $name;
  5.     public $age;
  6.     public $sex;

  7.     public function __construct($name,$age,$sex){

  8.         $this -> name = $name;
  9.         $this -> age = $age;
  10.         $this -> sex = $sex;
  11.     }

  12.     public function say(){
  13.         echo "say";
  14.     }

  15.     /**
  16.      * 析构方法 __destruct() 是在对象被销毁时自动调用
  17.      * 用途:可以进行资源胡释放操作或文件的关闭操作或信息保存操作
  18.      * 注意:栈内存的先进后出
  19.      */
  20.     public function __destruct(){
  21.         echo "88{$this -> name}<br />";
  22.     }
  23. }

  24. $person = new person("zhangsan",18,'nv');
  25. $person -> say();
  26. echo "<hr />";
  27. $person1 = new person("lisi",20,"nan");
  28. $person1 -> say();
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|十三博客 ( 鲁ICP备2023000528号 )

GMT+8, 2026-6-1 18:25 , Processed in 0.048666 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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