php 封装 知识点


由众多对象抽象出来的
对象
由类实例化出来的

成员变量
成员方法
成员属性

访问修饰符
public 公有的
protected 受保护的
private 私有的

构造函数
1.写法特殊
2.执行时间特殊

面向对象的三大特性 继承 封装 多态

1.封装
目的:为了使一个类更加安全
做法:
1.将成员变量变为私有的
2.在类里面做方法来间接访问成员变量
3.在方法里面加控制

class Ren
{
public $code; //人员代号
private $name; //人员名称
private $sex; //人员性别
private $age; //人员年龄,必须在18-50周岁之间

//构造方法,用来初始化性别
function __construct($s)
{
$this->sex = $s;
}

/*//造一个修改年龄的方法
function SetAge($a)
{
//加控制
if($a>18 && $a<50)
{
$this->age = $a;
}
}
//造一个获取age值的方法
function GetAge()
{
return $this->age;
}*/

//给变量赋值的魔术方法
function __set($n,$v)
{
if($n=="age")
{
if($v>18 && $v<50)
{
$this->$n = $v;
}
}
else
{
$this->$n = $v;
}
}

//__get魔术方法,用来取变量值的
function __get($n)
{
return $this->$n;
}
}

//造对象
$r = new Ren("男");
//$r->SetAge(30);
//$r->__set("age",30);

$r->age = 30; //自动调用__set()方法,将变量名当做第一个参数,将等号右边的值当做第二个参数
$r->name = "张三";

//echo $r->sex; //自动调用__get()方法,将变量名当做参数
//var_dump($r);

class Dog
{
private $name;

function Jiao()
{
echo $this->name."在叫";
}

function SetName($n)
{
$this->name = $n;
return $this;
}

}

$d = new Dog();
$d->SetName("旺财")->Jiao();

//2.继承

//3.多态

?>

时间: 2024-11-08 10:22:48

php 封装 知识点的相关文章

组合封装知识点

组合 定义: 组合指的是,一个对象中的属性是另一个对象 目的: 和继承一样,都是为了减少代码的冗余度 总结: 继承: 类与类的关系,一种是什么与什么的关系,子类和父类是从属关系 组合: 对象与对象的关心,一种什么有什么的关系,一个对象拥有另一个对象 封装 定义: 封装指的是把一堆属性(特征与技能)封装到一个对象中. 存数据的目的是为了取,对象可以","的方式获取属性 比喻: 对象就好比一个袋子,袋子里面装一堆属性 目的: 为了方便存取,可以通过 对象.属性的方式获取 如何封装: 特征:

超级猜图,小case,运用知识点: storyboard block封装变化点 蒙板 模态model

最近这几天,不知道突然玩超级猜图玩疯了,最后觉得还是不过瘾,干脆下了ipa,运用素材自己写了一个,没想到居然实现了大部分功能,真开心,直接上图:     上代码,不足之处,还望牛人支出,不胜感激: 1 #import "JHViewController.h" 2 #import "JHAppDate.h" 3 4 @interface JHViewController () 5 { 6 NSArray *_arrayImage; // 内容数组 7 int _ind

封装设计基础知识点

一.封装基本组成要素: 1.焊盘(包括阻焊.孔径等内容) 2.丝印 3.位号字符(就是管脚的序号) 4.1脚标识(方便焊接的时候识别) 5.安装标识 6.器件最大高度 7.极性标识 8.原点 二.焊盘类型; 1.规则焊盘:在正片中看到的焊盘,也是基本的焊盘 2.热风盘:它也叫花焊盘,在负片中有效,设计用于负片中焊盘与敷铜的连接方式,防止焊接时散热太快,影响工艺 3.隔离焊盘:焊盘与敷铜的间距,负片工艺中有效 4.阻焊层:规定绿油开窗大小,以便进行焊接(这个绿油开窗的意思是油墨不会覆盖到阻焊上的金

每天一个JS 小demo之日历制作。主要知识点:日期函数和对于函数封装的灵活运用

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> td { text-align: center; } </style></head> <body> <p> <select id="yearS

python3 速查参考- python基础 8 -&gt; 面向对象基础:类的创建与基础使用,类属性,property、类方法、静态方法、常用知识点概念(封装、继承等等见下一章)

基础概念 1.速查笔记: #-- 最普通的类 class C1(C2, C3): spam = 42 # 数据属性 def __init__(self, name): # 函数属性:构造函数 self.name = name def __del__(self): # 函数属性:析构函数 print("goodbey ", self.name) I1 = C1('bob') #-- Python的类没有基于参数的函数重载 class FirstClass: def test(self,

python基础--接口与归一化设计、封装、异常、网络编程

1 接口与归一化设计 1.1 归一化概念: 归一化的好处: 1.归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备某些功能就可以了,这极大降低了使用者的使用难度. 2.归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的对象集合 继承的两种用途 一:继承基类的方法,并且做出自己改变或者扩展(代码重用):实践中,继承的这种用途意义并不很大,甚至常常是有害的.因为它使得子类与基类出现强耦合. 二:声明某个子类兼容于某基类,定义一个接口类(模仿java的Interface),接口类中

Java基础——封装

最近学习Java面向对象方面的知识点,一直没时间更新博客,因为这块的知识点真的蛮绕的.一个知识点一个知识点的往外冒,而且对于我这个初学者来说区分构造器和方法就花费了一整天的时间.现在准备再重新过一遍知识点. 先背下来一个理念: 面向对象程序设计是将数据放在第一位的,然后再考虑操作数据的方法. 之前,再学习Java的优越性的时候,我们知道了Java是一种面向对象设计的程序设计语言.那到底什么是面向对象程序设计呢?要弄懂它,首先我们简单了解一下另一种程序设计. 一.面向过程程序设计: 面向过程程序设

UISCrollView —— 图片轮播器封装实现(三)——(第三讲)

1.分析 利用xib布局,然后自定义一个UIView,解析xib,然后利用控制器传入数据,将其加载到控制器的view上展示即可 2. 程序结构 3. 代码具体实现 1>  xib文件 2>  创建类 XMGPageView,然后将其与xib文件关联,选中xib文件,然后设置下文中 " custom class " 为定义的类,让其来管理xib 1>    (如图,设置xib与类关联) 2>  XMGPageView.h 文件中,声明分页图片数组属性,及其一个快速

个人总结------高级知识点必会

高级知识点之必会 共44题 1.OC中创建线程的方法是什么?如果指定在主线程中执行代码?如何延时执行代码.[难度系数★★] 1)创建线程的方法 NSThread NSOperationQueue和NSOperation GCD 2)主线程中执行代码 [self performSelectorOnMainThread:withObject: waitUntilDone:]; [self performSelector: onThread:[NSThreadmainThread] withObjec