博客列表 >01月15日作业:class的基础知识

01月15日作业:class的基础知识

李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰原创
2020年01月17日 16:16:04798浏览

作业一:

代码演示:

  1. <?php
  2. //定义类
  3. class Sum
  4. {
  5. static $count=0;//静态变量
  6. public $a;//公共称员
  7. private $c=14;//私有称员
  8. protected $age=27;//保护称员
  9. public function __construct($a)//构造函数
  10. {
  11. $this->a=$a;
  12. }
  13. public function sum(){
  14. return $this->a += 1;
  15. }
  16. public function min($x,$y){
  17. return $x+$y+$this->c;
  18. }
  19. public function write() {
  20. return $this->age;
  21. }
  22. }
  23. //定义子类
  24. class SumAdd extends Sum {
  25. public $name;
  26. public $city;
  27. public function __construct($a,$name,$city)
  28. {
  29. parent::__construct($a);//引用父类的构造函数
  30. $this->name=$name;
  31. $this->city=$city;
  32. }
  33. public function get_info() {
  34. return '我是'.$this->name.'在'.$this->city.$this->a.'年';
  35. }
  36. // public function sum(){//父类函数的重写
  37. // return $this->a *= 1;
  38. // }
  39. }
  40. $sum=new Sum(5);//类的实例化(对象)
  41. echo $sum->a,'<br>';//访问类中公共成员
  42. echo $sum->write(),'<br>';//通过函数访问保换
  43. echo $sum->sum(),'<br>';
  44. echo $sum->min(5,6),'<br>';
  45. echo $sum->min(7,8).'<br>';
  46. echo Sum::$count;//::访问类中的常量
  47. echo '<hr>';
  48. $add=new SumAdd(5,'ldy','郑州');//子类的实例化
  49. echo $add->get_info(),'<br>';
  50. echo $add->sum();//子类中无sum();函数时,调用父类的

实现效果

知识点总结:

类的命名(与其他命名的区别)

1、变量命名:以$开头,符合标识符规则
2、函数命名:以function声明,函数名符合标识符规则
3、类的名命名:以class声明,名字的首字母要大写,双驼峰结构
4、常量命名:应该全部使用大写字母

类的常见关键字:

1、成员关键字:public、protected、private、static、
2、继承关键字:extends ::范围解析符 例如 parent::__construct();
3、类中引用自身关键字:$this->(后跟$变量名和函数名)
4、类的实例化关键字:new($add=new SumAdd();)
5、通过实例访问类里面公共变量和函数:$sum->a$add->get_info();
6、访问类中的静态变量:Sum::$count;
7、构造函数:function __construct(){}
8、trait:(方法集)改变单继承模式,像一种特殊类,但不能被实例化,一般在父类中引用(引用关键字:use)在子类中调用,优先级是,子类覆盖trait,trait覆盖子类继承的父类。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议