<?php

/**
*public protected private PHP封装的实例
*/
/*class tv
{
private $shengyin; function __construct()
{
$this->shengyin = 20;
} public function yaokongqi($anniu, $liang = '')
{
switch ($anniu) {
case "shengyin":
$this->shengyin($liang);
break;
case "guandiansi":
$this->guandiansi();
break;
case 'huantai':
$this->huantai($liang);
break;
case 'jingyin':
$this->jinyin($liang);
break;
}
} public function shengyin($daxiao)
{
$this->shengyin = $daxiao>0?$this->shengyin + $daxiao:$this->shengyin - $daxiao;
echo "现在的声音是:{$this->shengyin}<br/>";
} private function guandiansi()
{
echo "关电视";
} private function huantai($pindao)
{
echo "现在是第{$pindao}频道";
} private function jinyin($zhuangtai)
{
$zhuangtai == 1 ? "电视静音了" : "打开声音";
} public function huodeshengyin()
{
return $this->shengyin;
}
} $tv1 = new tv();
$tv1->yaokongqi('shengyin', 6);
echo "现在的电视声音是:".$tv1->huodeshengyin();
*/ //最大化的封装,最小化的释放
/*class db
{
private $mysqli;//数据库链接
private $options;//SQL选项
private $tableName;//表名 function __construct($tabName)
{
$this->tableName = $tabName;
$this->db();
} private function db()
{
$this->mysqli = new mysqli('localhost', 'root', '', 'blog');
$this->mysqli->query('SET NAMES utf8');
} function fields($fildsArr)
{
if (empty($fildsArr)) {
$this->options['fields'] = ''; }
if (is_array($fildsArr)) {
$this->options['fields'] = implode(',', $fildsArr);
} else {
$this->options['fields'] = $fildsArr;
}
return $this; } function order($str)
{
$this->options['order'] = "ORDER BY".$str;
return $this;
} function select()
{
$sql = "SELECT {$this->options['fields']} FROM {$this->tableName} {$this->options['order']}";
return $this->query($sql);
} private function query($sql)
{
$result = $this->mysqli->query($sql);
$rows = array();
while ($row = $result->fetch_assoc()) {
$rows[]= $row;
}
return $rows;
} private function close()
{
$this->mysqli->close();
} function __destruct()
{
$this->close();
}
} $chanel = new db('blog_article');
$changelInfo=$chanel->fields('art_id,art_title,art_tag')->select();
echo '<pre>';
print_r($changelInfo);*/ //public () 本类,子类 ,外部对象都可以执行
//protected (受保护的) 本类,子类,可以执行,外部对象不可以执行
//private (私有的) 只能在奔雷执行,子类与外部对象都不可以调用 /*class a{
protected function aa(){
echo 222;
}
}
class b extends a{
function bb(){
$this->aa();
}
}
$c=new b();
$c->bb(); //输出:222;*/ /*class a{
private function aa(){
echo 222;
}
}
class b extends a{
function bb(){
$this->aa();
}
}
$c=new b();
$c->bb(); //报错:*/

  

004-对象——public protected private PHP封装的实例的更多相关文章

  1. 【转】C++易混知识点5:实例讲解Public Protected Private作用域,继承的区别和用意

    大学生涯,涉及到类的作用域,继承都是用的public 共有继承,当时也没想那么多,觉得共有继承多方便,多简单,反正没有太多的限制,不管是类的成员或者是基类的成员函数都可以访问.没有深究.其实这里面真是 ...

  2. 快速理解类的访问控制(public,protected,private)

    接触过面向对象编程的朋友们都知道类中的访问控制符无非有三个,public, protected, private. 理解他就先从期望他达到的效果先说吧 Public: 使成员对于整个程序内(类内类外) ...

  3. 【转载】C++中public,protected,private访问

    第一:private, public, protected 访问标号的访问范围. 假如我们约定: 类内部-----指的是当前类类型的定义中,以及其成员函数的声明和定义中: 类外部-----指的是不在当 ...

  4. JAVA修饰符类型(public,protected,private,friendly)

    转自:http://www.cnblogs.com/webapplee/p/3771708.html JAVA修饰符类型(public,protected,private,friendly) publ ...

  5. C++ 类访问控制(public/protected/private)

    第一:private, public, protected 访问标号的访问范围. private:只能由1.该类中的函数.2.其友元函数访问. 不能被任何其他访问,该类的对象也不能访问. protec ...

  6. JAVA类型修饰符(public,protected,private,friendly)

    JAVA类型修饰符(public,protected,private,friendly) public的类.类属变量及方法.包内及包外的不论什么类均能够訪问:protected的类.类属变量及方法,包 ...

  7. C++:继承访问属性(public/protected/private)

    • 公有继承(public) 公有继承在C++中是最常用的一种继承方式,我们先来看一个示例: #include<iostream> using namespace std; class F ...

  8. C++中public,protected,private派生类继承问题和访问权限问题

    C++中public,protected,private派生类继承问题和访问权限问题 当一个子类从父类继承时,父类的所有成员成为子类的成员,此时对父类成员的访问状态由继承时使用的继承限定符决定. 1. ...

  9. php public protected private属性实例详解

    php 类中函数和类变量都有三个属性:public protected private,具体什么时候使用什么属性好纠结,特意找了个实例,这样看起来更清晰. public 表示全局,类内部外部子类都可以 ...

随机推荐

  1. hdu2597 Simpsons’ Hidden Talents

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=2594 题目: Simpsons’ Hidden Talents Time Limit: 2000/1000 ...

  2. https://www.cnblogs.com/skywang12345/category/455711.html

    https://www.cnblogs.com/skywang12345/category/455711.html

  3. c++对txt文件的读取与写入

    转自:http://blog.csdn.net/lh3325251325/article/details/4761575 #include <iostream> #include < ...

  4. SQL Server 对XML数据类型的SQL语句总结

    --创建XMLTable , ) primary key, XMLCol xml); go ------------------------------------------------------ ...

  5. @Override笔记

    作用:用来保证正确重写方法,当你重写方法出错时,比如方法名误写,或者漏掉参数,编译器会提示编译错误. 使用场景:继承父类,重写父类方法:实现接口,实现接口方法. 备注:jdk1.5之允许在继承时使用, ...

  6. 使用ThinkPHP5连接数据库

    1.在application的database.php中设置数据库信息. return [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' =&g ...

  7. RocEDU.阅读.写作《苏菲的世界》书摘(五)

    在谈到如何获取确实的知识时,当时许多人持一种全然怀疑的论调,认为人应该接受自己一无所知事实.但笛卡尔却不愿如此.他如果接受这个事实,那他就不是一个真正的哲学家了.他的态度就像当年苏格拉底不肯接受诡辩学 ...

  8. 20145322《Java程序设计》第3次实验报告

    实验内容,, 组队使用 git 上传代码并且互相下载对方代码修改之后再上传. 实现代码的重载 一. 使用git 上传代码 过程如图: 仨人成功上传后的代码图如下: 使用git 相互更改代码 执行git ...

  9. linux如何以十六进制格式来查看任意文件

    答:vim+xxd 使用方法如下: 1.vim -b file.txt 2.在vim的命令行模式下对文件进行16进制转换 输入:%!xxd 3.在vim的命令行模式下回到正常格式 输入:%!xxd - ...

  10. svn常用维护命令

    公司版本管理同时用的svn和gitlab,有互补作用 这边写一写慢慢积累自己用过的svn常用维护 查看版本范围之间的变化: [root@192-168-2-82 mnt]# svn log -r 45 ...