php面向对象(一)---2017-04-17
重点:定义类与实例化类;访问修饰符;构造函数
一、面向对象
面向对于与面向过程的主要区别在于:前者包含类和对象的概念
二、类和对象
1、类是由众多对象抽象(归纳总结)出来的东西 代表所有对象的特性
2、对象是由累实例化出来的东西 具有自己的特点 真实存在的 一切皆对象
3、定义类
class 加类名(首字母大写){}
eg:
class Ren
{
var $name; ----成员变量
var $age;
function eat() -----成员方法或函数
{
}
}
4、实例化 (因为类是抽象的,不能直接用)
$r = new Ren(); -------实例化一个人
$r ->name = "张三"; ---------调用成员变量
$r->age = 1;
$r->eat(); ---------调用成员方法
$r1 = new Ren();-------实例化第二个人
$r2 = new Ren();-------实例化第三个人
5、访问修饰符 非常重要 ( 成员变量一般都是private,成员方法一般都是public)
(1)public 公开的
class Ren
{
public $name;
public $age;
public function eat()
{
}
}
(2)protected 受保护的 只能在该类和该类的子类里访问
(3)private 私有的 只能在该类访问
class Ren
{
private $name;
private $age=2;
public function eat()
{
echo $this->age; --- this代表该对象(谁调用ear()就代表该对象);不是该类
}
}
$r = new Ren();
三、构造函数(无论写不写都存在,不写只是看不到而已)
用于初始化变量 默认为public
1、 特点
(1)写法特殊
function 类名(){} -----------以前用的,现在用也没错
function__construct(){} ------------现在用的
(2)执行时间特殊 -----------在实例化时就执行
Eg1:
class Ren
{
private $sex="男";
function __construct()
{
$this->sex;
}
public function eat()
{
}
}
$r = new Ren();
$r->eat();
Eg2:带参数
class Ren
{
private $sex;
function __construct($s)
{
$this->sex=$s;
}
public function eat()
{
}
}
$r = new Ren(“女”);
$r->eat();
php面向对象(一)---2017-04-17的更多相关文章
- 关于asp.net执行exe程序时权限不够的解决办法(2015.04.17更新)
一,本文背景 长话短说:asp.net项目中需要用到PDF转换成SWF文件,用户上传后自动调用pdf2swf.exe转换. 但有个问题,执行时权限不够,导致一直报错(滚动条一直在往下滚,刷屏中),见下 ...
- http://www.liangxiansen.cn/2017/04/06/consul/
Consul 使用手册 | 一个梦 http://www.liangxiansen.cn/2017/04/06/consul/ 基于Consul的分布式锁实现 https://mp.weixin.qq ...
- win10 如何配置 java jdk1.8环境变量(2017.8.17 )jdk1.8.0_144
win10 如何配置 java jdk 环境变量 2017.8.17 本篇还适用于 windows server 2012. windows server 2014+ 一.安装 下载 jdk 64位 ...
- 2017.9.17校内noip模拟赛解题报告
预计分数:100+60+60=220 实际分数:100+60+40=200 除了暴力什么都不会的我..... T1 2017.9.17巧克力棒(chocolate) 巧克力棒(chocolate)Ti ...
- 【LeetCode】BFS || DFS [2017.04.10--2017.04.17]
[102] Binary Tree Level Order Traversal [Medium-Easy] [107] Binary Tree Level Order Traversal II [Me ...
- Ubuntu 14.04 16.04 17.10 + Win10 双系统安装记录 + 分区大小选择办法
安装了N遍,重要的东西在此记录. 参考了 http://www.libinx.com/2017/five-steps-win10-ubuntu-dual-boot/ 忠告:为了让日后喘气能匀呼些,要选 ...
- 使用Visual Studio 2017 C++17模块(module)特性
环境: win7_x64旗舰版.VS2017企业版 一.安装VS2017 1.1 安装VS2017时,必须要勾选“使用C++的modules开发”选项 1.2 安装成功后,会在VS安装目录Micros ...
- 3.修改更新源sources.list,提高软件下载安装速度(2017.04.05)
2017年4月5日再次更新源 1.切换到root用户(如果已经是root用户就直接看第二步) dnt@HackerKali:~$ su 密码: 2.用文本编辑器打开sources.list,手动添加下 ...
- April 24 2017 Week 17 Monday
Much effort, much prosperity. 越努力,越幸运. I have ever seen this sentence in many people's signature of ...
- Image Processing and Computer Vision_Review:HPatches A benchmark and evaluation of handcrafted and learned local descriptors——2017.04
翻译 HPatches:手工和学习本地描述符的基准和评估——http://tongtianta.site/paper/8979 摘要:在本文中,我们提出了一个评估本地图像描述符的新基准.我们证明现有数 ...
随机推荐
- Hibernate框架注解
1.使用Hibernate注解的步骤 1.添加jar包 Hibernate-annotations.jar ...
- CSS中@import与link的具体区别
我们知道在网页中引用外部CSS有两种方式:@import和link 我们也经常听到有人说要使用link来引入CSS更好,但是你知道为什么吗? 继续往下看 link:link就是把外部CSS与网页连接起 ...
- 详解Swing中JTree组件的功能
JTree组件是另外一个复杂组件,它不像 JTable 那样难用,但是也不像 JList 那么容易.使用 JTree 时麻烦的部分是它要求的数据模型. JTree组件的功能来自树的概念,树有分支和叶子 ...
- json串拼接模版
var jsonarr = new Array;; jsonstr = '{' + '"objuid":' + '"' + abp.common.json2string( ...
- netflix zuul 学习
netflix zuul 是netflix开发的一个EDGE SERVICE. 主要是作为一个API Gateway 服务器,可以实现安全,流量控制等功能. 我看的是1.x的版本,Zuul1.x的实现 ...
- 使用git克隆指定分支的代码
今天想学习一下开源中国Android客户端的app源码,源码的Git地址:http://git.oschina.net/oschina/android-app,如下图所示: 由于Master主分支上没 ...
- babel入门基础
背景 babel的官网说babel是下一代的js语法编译器,现在自己也在很多项目中使用了babel,可是自己对babel的认识呢,只停留在从google和别人项目中copy的配置代码上,内心感到很不安 ...
- 对VC++6.0爱得深沉(二)个性工具的定制
初始界面看起来很简洁,但是经过一番改造后,你会拥有私人定制的壮丽界面O(∩_∩)O~,让我们开始吧. 1)原有工具的显示隐藏.位置调整: 比如你觉得这个插入图标没什么用,想把这个隐藏,那么你可以打开[ ...
- Hive 伪分布式下安装
本安装过程只作为个人笔记用,非标准教程,请酌情COPY.:-D Hive下载 下载之前,需先查看兼容的Hadoop版本,并安装hadoop,参考 http://www.cnblogs.com/yong ...
- bootstrap使用模板
Bootstrap下载地址: - https://github.com/twbs/bootstrap/releases/download/v3.3.6/bootstrap-3.3.6-dist.zip ...