PHP面向对象编程简单实例
<?php date_default_timezone_set("PRC");/* * 1.静态属性用于保存类的公有数据 * 2.静态方法里面只能访问静态属性 * 3.静态成员不需要实例化对象就可以进行访问 * 4.类的内部可以通过self或者static关键字访问自身静态成员 * 5.可以通过parent关键字访问父类的静态成员 * 6.可以通过类的名称在类定义外部访问静态成员 * */ class Human{ public $name; protected $height; //只有自身和子类可以访问 public $weight; private $isHungry = true; //不能被子类访问public static $sValue = "Static value in Human class"."\n";public function eat($food){ echo $this->name."'s eating "."'$food"."\n"; }public function info(){ echo "HUMAN :".$this->name. ";".$this->height.";".$this->isHungry."\n"; } } class Animal{}//类的定义以关键字class开始,后面是类的名称,类的命名通常第一个字母大写,以中括号开始和结束 //在PHP中用extends关键字表示类的继承,后面跟父类的类名 //PHP中extends后只能跟一个类的类名,这是PHP中的单继承原则 class NBaplayer extends Human { // public $name = "Jordan"; //定义属性 // public $height = "198cm"; // public $weight = "98kg"; public $team = "Bull"; public $playernumber = "23";private $age = "40"; //Private的类成员只能在内部被访问//静态属性在定义时在访问控制关键字后面添加static关键字即可 public static $president = "David Stern"; // 静态方法在定义时在访问控制关键字后面添加static关键字即可 public static function changePresident($newpresdt){ //在类定义中使用静态成员时,用self或者static关键字后面跟::操作符即可 //注意,在访问静态成员属性时,::后面需要跟$符号 self ::$president = $newpresdt; //使用parent关键字访问父类中的静态成员 echo parent::$sValue."\n"; }//构造函数,在对象被实例化时自动调用 function __construct($name,$height,$weight,$team,$playernumber) { echo "in NBaplayer constuctor\n"; $this->name = $name; //$this是php里面的伪变量,表示对象自身,可以通过$->this的方式访问对象的属性和方法 $this->height = $height; $this->weight = $weight; $this->team = $team; $this->playernumber = $playernumber; echo $this->height."\n"; }//析构函数,在程序执行结束时自动调用 //析构函数通常被用于清理程序使用的资源。比如,程序使用了打印机,那么可以在析构函数里释放打印机资源 function __destruct() { echo "Destroying ".$this->name."\n"; }//定义方法 public function run() { echo "running\n"; }public function jump() { echo "jumping\n"; }public function dribble() { echo "dribbling\n"; }public function shoot() { echo "shooting\n"; }public function dunk() { echo "dunking\n"; }public function pass() { echo "passing\n"; } public function getAge(){ echo $this->name."'s age is ".($this->age - 2)."\n"; } } //类到对象的实例化 //类的对象为实例化时使用关键字new,后面是类的名称和一堆括号 // $jordan = new NBaplayer("Jordan","198cm","98kg","Bull","23"); // $james = new NBaplayer("James","203cm","120kg","Heat","6"); //对象中的成员属性通过->符号来访问 //在类定义外部访问静态属性,可以用类名加::操作符的方法来访问类的静态成员 echo NBaplayer::$president." Before change"."\n"; NBaplayer::changePresident("Aadam Siver"); echo NBaplayer::$president."\n"; echo Human::$sValue."\n"; // echo "Jordan : ".$jordan->president."\n"; // echo "James : ".$james->president."\n"; echo $jordan->name."\n"; //echo $jordan->getAge(); // $jordan->info(); // $jordan->eat("Apple"); //在子类中的对象上可以直接访问父类中定义的属性和方法 //对象中的成员方法通过->符号来访问 // $jordan->dribble(); // $jordan->dunk(); // $jordan->jump(); // $jordan->pass(); // $jordan->run(); // $jordan->shoot(); // // //每一次用new实例化对象的时候,都会用类名后面的参数列表调用构造函数 // $james = new NBaplayer("James","203cm","120kg","Heat","6"); // echo $james->name."\n";// //通过把变量设置为Null,可以出发析构函数的调用 // //当对象不会再被使用的时候,会触发析构函数 // $james1 = $james; // $james2 = &$james; // $james2 = null; // $james1 = null; // echo "From now on James will not be used.\n"; ?>
转载于:https://www.cnblogs.com/phperlinxinlan/p/6395379.html
PHP面向对象编程简单实例相关推荐
- python面向对象编程138讲_Python面向对象编程简单讲解
学习目标: 1-面向对象编程 2-类和对象 3-对象的属性和方法 4-类的特性 Python面向对象编程 一种编程程序的设计思想,把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数.把计算机 ...
- Python-100-days 面向对象编程-简单想法学习写21点游戏(一)
简单想法学习写21点游戏(一) (以此记录学习体会) 年已半百,仅初中时学过点Basic,高数.英语早已丢给大学老师,看着这部分面向对象编程,经常有种感受:眼睛,会了!:脑,不会!.什么对象啊,类方法 ...
- Python 进阶_OOP 面向对象编程_实例属性和方法
目录 目录 构造器和解构器 构造器 __init__ 真构造器 __new__ 解构器 __del__ 实例方法 Python 中的 抽象方法 实例属性 查看实例属性 实例属性和类属性的区别 访问不可 ...
- 桌面邮件飞机源码——VB.NET网络编程简单实例
最近闲来无事,用VB.NET制作了一个快速发送邮件的小程序,关于界面的控件设计我就不再做过多的说明啦,关于VB.NET的新手来说,可以先学习一下控件的基本使用方法,然后对本代码进行修改和完善,希望大家 ...
- 【手把手教你】Python面向对象编程入门及股票数据管理应用实例
1 前言 一般而言,在学习或练习python的初级阶段,在Jupyter Notebook(spyder或pycharm)上进行逐条执行语句和代码,这样可以起到交互的良好效果.但是如果要进行大一点的项 ...
- 【Golang第8章:面向对象编程】Go语言的结构体是什么,怎么声明;Golang方法的调用和声明;go语言面向对象实例,go语言工厂模式;golang面向对象的三大特性:继承、封装、多态
介绍 这个是在B站上看边看视频边做的笔记,这一章是Glang面向对象编程 这一章内容较多,内容有Go语言的结构体是什么,怎么声明:Golang方法的调用和声明:go语言面向对象实例,go语言工厂模式: ...
- python浓缩(13)面向对象编程
为什么80%的码农都做不了架构师?>>> 本章主题 ? 引言 ? 面向对象编程 ? 类 ? 实例 ? 绑定与方法调用 ? 子类,派生和继承 ? 内建函数 ? 定制类 ? 私有性 ...
- 第十章 Golang面向对象编程(上)
结构体 看一个养猫问题 张老太养了两只猫猫:一只名字叫小白,今年3岁,白色.还有一只叫小花,今年100岁,花色.请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色.如果用户输入的小猫 ...
- go 面向对象编程-1
结构体 一个程序就是一个世界,有很多对象(变量) golang语言面向对象编程说明 golang也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言.所以说golan ...
最新文章
- 用C语言实现Ping程序功能
- 一蹴而就的解释是什么_健身会让我们成为什么样的人?
- HBase底层存储原理——我靠,和cassandra本质上没有区别啊!都是kv 列存储,只是一个是p2p另一个是集中式而已!...
- bugfree3.0.2版本升级--更新版
- 数据结构面试的常客,一文带你深入了解堆
- 科大星云诗社动态20210514
- eclipse编码页面中文乱码在哪更改编码?
- 关于一类docker容器闪退问题定位
- springBoot的一些注解以及静态资源的处理
- python flask将读取的图片返回给web前端
- 3D-06-打飞碟(物理运动)
- Photoshop插件-黑白(三)-脚本开发-PS插件
- 84 岁 iOS 女程序员,不得不服!
- 推荐一个比较好用的画廊展示图片(支持无限轮播)的控件ViewPagerGallery
- 华为认证三个等级区别在哪?
- Leetcode_96_Unique Binary Search Trees
- zipfile的压缩和解压缩
- CSS3自定义滚动条样式 -webkit-scrollbar
- Python爬虫学习(四)爬取图片素材网站素材
- 应届毕业生到底有哪些优势呢