博主信息
博文 27
粉丝 0
评论 0
访问量 22287
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
匿名,Triat,自动加载,序列化-9.05
Yyk.的博客
原创
903人浏览过

 匿名对象与匿名类的实现过程

实例

<?php
header("Content-Type:text/html;charset=utf-8");


class User
{
	public $name;
	public $age;
	
	public function __construct($name,$age)
	{
		$this->name = $name;
		$this->age = $age;
	}
	
	public function export()
	{
		return $this->name.$this->age;
		
	}
}
//匿名对象
echo (new User('Yyk',19))->export();


//匿名类
echo (new class('YHH',18)
	  {
			public $name;
	public $age;
	
	public function __construct($name,$age)
	{
		$this->name = $name;
		$this->age = $age;
	}
	
	public function export()
	{
		return $this->name.$this->age;
		
	}  
	  })->export();



?>

运行实例 »

Trait类的声明与工作原理

实例

<?php
header("Content-Type:text/html;charset=utf-8");


class Dad
{
	public $name;
	public function __construct($name='Yyk')
	{
		$this->name = $name;
	}
	
	public function study($course='PHP')
	{
		return $this->name.'在学习'.$course;
	}
}

trait One
{
	public $friend;
	public function study($course='JAVA')
	{
		return $this->name.'和'.$this->friend.'在学习'.$course;
	}
}

trait Two
{
	public $friend;
	public function study($course='JAVA')
	{
		return $this->name.'和'.$this->friend.'在学习'.$course;
	}
}

class Son extends Dad
{
	use One;
	use Two;
	use One,Two{
		One::study insteadof Two;
		Two::study as studys;
	}
	
	
	
}

$person = new Son();

echo $person->studys();

运行实例 »

类的自动加载函数的写法

实例

<?php
header("Content-Type:text/html;charset=utf-8");


spl_autoload_register(function ($classname){
	require './class'.$classname.'.php';
});


?>

运行实例 »

对象的序列化与反序列化的原理与应用;

实例

<?php
header("Content-Type:text/html;charset=utf-8");


class Db
{
	private $db = null;
	private $host;
	private $user;
	private $pass;
	
	public function __construct($host='127.0.0.1',$user='root',$pass='root')
	{
		$this->host = $host;
		$this->user = $user;
		$this->pass = $pass;
		$this->connect();
	}
	
	public function connect()
	{
		$this->db = mysqli_connect($this->host,$this->user,$this->pass);
	}
	
	public function __sleep()
	{
		return ['host','user','pass'];
	}
	
	public function __wakeup()
	{
		$this->connect();
	}
}

$db = new Db();

$tmp =  serialize($db);
var_dump(unserialize($$tmp));




?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


关于面向对象编程,即OOP,它是一种编程范式,满足面向对象编程的语言,一般会提供类、 封装、继承等语法和概念来辅助我们进行面向对象编程。
面向对象是基于万物皆对象这个哲学观点. 所谓的面向对象就是将我们的程序模块化, 对象化,把具体事物的特性属性和通过这些属性来实现一些动作的具体方法放到一个类 里面
面向对象的三大特征 继承,封装,多态

继承:子类可以继承父类,继承父类的属性及方法,使得代码模块化,提高代码复用性

封装:将事物的属性及行为抽象成一个类,代码模块化,提高代码复用性;

多态:为了实现接口重用,是面向对象的最重要的一部分.




批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学