博客列表 >OOP 封装对象的三个范围

OOP 封装对象的三个范围

梁凯达的博客
梁凯达的博客原创
2019年01月10日 22:29:19817浏览

实例

<?php
	//面向对象的封装
	//三个范围
	//自己  家族  外部 
	//范围是针对要判断的成员而言
	class A{
		private $name = 'rose';
		public function say(){
			echo $this->sex;
		}
	}
	class B extends A{
		private $sex = '女';
		public function say1(){
			echo $this->sex;
		}
	}
	
	$a = new B;
	//外部 : 只要不在类里面都算作外部
	//echo $a->name;

	echo $a->say();

运行实例 »

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

实例

<?php

	//面向对象的封装
	//三个范围    自己  家族  外部
	//三个关键字    简称 3p
	//public private protected
	
	class A{
		public $name ='琦琦';
		private $age = 45;
		//只能在自己和家族关系的里面访问 不能在外部访问
		protected $sex = 'man';
		public  function  test(){
			echo $this->name;
			echo $this->age;
			echo $this->sex;
		}
	}
	class B extends A{
		public function say(){
			echo $this->name;
			//echo $this->age;
			echo $this->sex;
		}

	}
	$p = new B;
	echo $p->name;
	//echo $p->age;
	//echo $p->sex;
	//$p->test();
	$p->say();

运行实例 »

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

 

实例

<?php

	//家族范围
	
	class A{
		public function sayA(){
			echo $this->name;
		}
	}
	//我们所描述的家族范围不仅仅是可以向下也可以向上
	class B extends A{
		//受保护方式修饰的属性可以在自己和家族范围
		//A里面sayA C里面的sayC 者两个访问都可以访问到B类里面的受保护属性
		protected $name ='满身大汉';
	}
	class C extends B{
		
		public function sayC(){
			echo $this->name;
		}
	}

	$p = new C;
	$p->sayC();
	$p->sayA();

运行实例 »

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

 

 

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