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 摘要:在本文中,我们提出了一个评估本地图像描述符的新基准.我们证明现有数 ...
随机推荐
- 数据库:oracle,MySQL,SqlServer 安装资源分享
1. oracle 11g: 链接:http://pan.baidu.com/s/1bppaqR1 密码:http 2. mysql 链接:http://pan.baidu.com/s/1jH8O ...
- mfc---ActiveX控件
AvtiveX控件可看做是一个极小的服务器应用程序,不能独立运行,必须嵌入到某个容器程序中 容器应用程序:可以嵌入或链接对象的应用程序 服务器应用程序:创建对象并且当对象被双击时,可以被启动的应用程序 ...
- Array对象方法属性总结
属性主要有三个:constructor;length;prototype; constructor(英文意思:构造器):返回对创建此对象的数组函数的引用.例如:var arr=new Array(); ...
- Java工程师:四个月小白变大咖,你能做到吗?
你眼中的Java工程师是什么样子? 技术大牛?闷骚男?IT民工?没有女朋友?全是汉子?很邋遢?贼眉鼠眼? 今天,中软国际卓越工程师,Java精英班正式开课啦.你想看看他们都是一群怎样的人吗? 今天的武 ...
- java算法 蓝桥杯(题+答案) 压缩变换
10.压缩变换 (程序设计) 小明最近在研究压缩算法.他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比.然而,要使数值很小是一个挑战. 最近,小明需要压缩一些正整数的序列,这些 ...
- 3297: [USACO2011 Open]forgot
3297: [USACO2011 Open]forgot Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 69 Solved: 51[Submit][ ...
- 2761: [JLOI2011]不重复数字(平衡树)
2761: [JLOI2011]不重复数字 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2133 Solved: 825[Submit][Stat ...
- 右键打开cmd命令出错
今天想在E盘git clone一个工程项目下来,发现自己的window10上,出现了如下问题(不知道是不是是什么软件引起的冲突) 在度娘里面找了半天也没有解决问题,只有通过如下方法实现了 ctrl+r ...
- Caliburn.Micro - 框架搭建
简介:Caliburn.Micro是Caliburn的一个轻量级版本开源架构,可以用于wpf,sliverlight,wp7等,和注重模块化的Prism比起来也有许多优点,具体比较可以参考 此文 ht ...
- ###服务(Service)
Start服务开启方式 1) 创建服务 public class MyService extends Service 2) 添加注册表 <service android:name=&qu ...