PHP面向对象2之变量、方法

 1 <?php
 2 /**
 3  * PHP面向对象基础  调用变量
 4 */
 5     class Computer{
 6         //字段成员的声明格式:修饰符 变量名[=xxx]
 7         public $_name;//public 表示类外可以访问,为公有变量
 8         public $_model;
 9     }
10     //创建一个对象,生产出来一台电脑。->表示指向
11     $computer1 = new Computer();
12     $computer1->_name='dell';//给成员变量赋值
13     echo $computer1->_name;
14 ?>

 

 1 <?php
 2 /**
 3  * PHP面向对象基础  创建方法
 4 */
 5     class Computer{
 6         public $_name;
 7         public $_model;
 8     //创建方法的格式:修饰符 function 方法名(){}
 9     //如果不加修饰符,默认就是public
10     public function _run() {
11         echo '我是一个方法';
12     }
13     
14     }
15     $computer1 = new Computer();
16     $computer1->_run();
17     
18     
19 ?>

 

 1 <?php
 2 /**
 3  * PHP面向对象基础  给方法加参数
 4 */
 5     class Computer{
 6         public $_name;
 7         public $_model;
 8         
 9         public function _run($_who) {
10             echo '我是'.$_who;
11         }
12     
13     }
14     $computer1 = new Computer();
15     $computer1->_run('小王');
16     
17     
18 ?>

构造方法
  所谓构造方法,也是方法,只不过是一种特殊的方法。而方法名必须和类名一致,并且不需要像普通方法一样,必须通过调用才能执行,只需要实例化即完成调用过程。一般来说,构造方法总是在做一些初始化的工作。我比较喜欢称构造方法为:构造器,受Java的影响,比较容易理解。

 1 <?php
 2 /**
 3  * PHP面向对象基础  构造方法(旧)
 4 */
 5 class Computer{
 6     //创建一个构造方法
 7     public function Computer(){
 8         echo ' This is 构造方法';
 9     }
10 }
11 //只要实例化,就可以执行构造方法
12 $computer1 = new Computer();
13 
14 ?>

  在 PHP5 我们可以通过__construct 的内置方法来识别构造方法,而不用再需要和类名相同了。

 1 <?php
 2 /**
 3  * PHP面向对象基础  构造方法(新)
 4 */
 5 class Computer{
 6     //创建一个构造方法
 7     public function __construct(){
 8         echo '我是新版的构造方法';
 9     }
10 }
11 //只要实例化,就可以执行构造方法
12 new Computer();
13 
14 ?>

  相对应构造方法, 还有一种内置的方法是析构方法, 它的用途在整个类使用完毕都执行。一般可用于清理内存中对象(脚本执行完毕的时候会自动清理)。而如果有脚本执行完毕后并没有清理的,比如数据库数据等,就有必要使用析构方法

 1 <?php
 2 /**
 3  * PHP面向对象基础基础  构造方法 运行比较
 4 */
 5 class Computer{
 6     //创建一个构造方法(最先执行)
 7     public function __construct(){
 8         echo '我是新版的构造方法';
 9     }
10     
11     //析构方法(最后执行)
12     public function __destruct(){
13         echo '我是析构方法';
14     }
15     
16     // 普通方法(中间执行)
17     public function _run(){
18         echo '我是普通方法';
19     }
20 
21 }
22 //只要实例化,就可以执行构造方法
23 $computer1 =new Computer();
24 $computer1->_run();
25 
26 ?>

 

转载于:https://www.cnblogs.com/im404/articles/PHP_OOP2.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432580.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 VC6 中使用 GdiPlus-安装

安装三部曲&#xff1a; Step1&#xff1a;下载 GdiPlus SDK 文件包&#xff1b; 链接地址1&#xff1a;http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip 链接地址2&#xff1a;http://www.codersource.net/samples/mfcgdiplus.zip Step2&#xff1a;安装&#xff1b; &a…

算法训练|实现 Trie (前缀树)

208. 实现 Trie (前缀树) - 力扣&#xff08;LeetCode&#xff09; 总结&#xff1a; Trie&#xff0c;又称前缀树或字典树&#xff0c;是一棵有根树&#xff0c;其每个节点包含以下字段&#xff1a; 指向子节点的指针数组 children。对于本题而言&#xff0c;数组长度为 26…

ASP.NET MVC 的多国语系支持

ASP.NET MVC 的多国语系支持 posted on 2014-05-14 11:31 stickout 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/linhui/p/3727364.html

airtest web 录制滑块_Airtest之web自动化(一)

Airtest之web自动化(一)[此文档有许多涉及到gif动图的地方&#xff0c;请全屏观看]了解Airtest&#xff1a;简介&#xff1a;Airtest是由网易团队开发的一款自动化框架&#xff0c;前期运用与游戏测试(通过截图识别)&#xff0c;后来又被运用到安卓测试以及web测试。这款自动化…

error C2065: 'ULONG_PTR' : undeclared identifier

处理方法: 把#define ULONG_PTR ULONG 加到 stdafx文件 靠前面的位置 原因&#xff1a; Visual C 6.0 开发环境, gdi 的头文件和库文件并没有被包含在环境中, 需要您手工安装 VC6 中没有 ULONG_PTR 类型

重构价格日历

重构价格日历转载于:https://www.cnblogs.com/usual2013blog/p/3728655.html

aliyun centos6 安装mysql_阿里云CentOS6.8安装MySQL5.6

1、使用SSH Secure Shell工具连接阿里云服务器2、使用SSH Secure File Transfer工具上传MySQL压缩包3、解压MySQL压缩包到指定目录(需要在先/usr/local下创建mysql目录)进入压缩文件存放位置&#xff0c;进行解打包&#xff1a;tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.ta…

RegOpenKeyEx 返回值 2

RegOpenKeyEx 返回值 2 x64 系统&#xff1a; 32bit 应用程序调用RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft", 0, KEY_WOW64_64KEY | KEY_READ, &hKey ); 注意 KEY_WOW64_64KEY 权限值必须使用否则将查找不到指定的路径。

mysql client 未开启_Django+mysqlclient未关闭数据库连接

我使用2个mysql数据库连接。在django中的每个页面请求之后&#xff0c;连接计数(如SHOW STATUS LIKE Conn%所示)每次增加2。在Python 3.4.0django 1.8.2mysqlclient 1.3.6版(Windows和Linux似乎都有这个问题)最初我直接通过MySQLdb访问第二个数据库&#xff0c;但现在我改为使用…

OpenGL中各种坐标系的理解

OPENGL坐标系可分为&#xff1a;世界坐标系和当前绘图坐标系。 世界坐标系&#xff1a;在OpenGL中&#xff0c;世界坐标系是以屏幕中心为原点(0, 0, 0)&#xff0c;且是始终不变的。你面对 屏幕&#xff0c;你的右边是x正轴&#xff0c;上面是y正轴&#xff0c;屏幕指向你的为z…

默认手机照相功能

下面是主要代码: - (void) addPicEvent { //先设定sourceType为相机&#xff0c;然后判断相机是否可用&#xff08;ipod&#xff09;没相机&#xff0c;不可用将sourceType设定为相片库 UIImagePickerControllerSourceType sourceType UIImagePickerControllerSourceT…

qmake生成vs2013工程文件

qmake -spec win32-msvc2013 -r -tp vc xxx.pro

iOS面试题

今天上午&#xff0c;下午分别面试了两家公司。上午是一家互联网公司&#xff0c;气氛还比较好&#xff0c;是我比较喜欢的。技术这块是直接机试&#xff0c;主要是给了些BUG让我修复&#xff0c;整个过程还算顺利。下午去了一家大型的证券公司。整理技术问题如下&#xff1a; …

Prepar3d.cfg

如果设置为0&#xff0c;打开p3d直接进入默认场景 [USERINTERFACE] SHOW_SCENARIO_WINDOW1

mysql严格模式 报错_mysql严格模式

mysql严格模式严格模式例子1234567DB::table(table_name)->where(status, 1)->select(DB::raw(sum(score) as num,user_id,channel))->groupBy(user_id)->orderBy(num, desc)->limit(10)->get();会报错&#xff1a;Syntax error or access violation: 1055 E…

Android Service 的一些笔记

绑定服务&#xff1a; 用于间接调用服务里面的方法。如果调用者Activity被销毁了&#xff0c;服务也跟着销毁了&#xff0c;服务也会跟着销毁。 开启服务&#xff1a; 不可以调用服务里面的方法。如果调用者的Activity退出了&#xff0c;服务还会长期在后台运行 生命周期 ①单独…

python traceback 丢失_基于python traceback实现异常的获取与处理

这篇文章主要介绍了基于python traceback实现异常的获取与处理,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下1、traceback.print_exc()2、traceback.format_exc()3、traceback.print_exception()简单说下这三个…

用Javascript获取页面元素的位置

制作网页的过程中&#xff0c;你有时候需要知道某个元素在网页上的确切位置。 下面的教程总结了Javascript在网页定位方面的相关知识。 一、网页的大小和浏览器窗口的大小 首先&#xff0c;要明确两个基本概念。 一张网页的全部面积&#xff0c;就是它的大小。通常情况下&#…

[Qt] 利用QtWebKit完成JavaScript访问C++对象

http://blog.csdn.net/longsir_area/article/details/42965565 一. 介绍 在浏览器扩展或者WebApp的项目经常用的脚本语言JavaScript有很多局限性&#xff0c;比如&#xff0c;javascript语言不能够夸窗口访问js对象&#xff0c;不能直接读写磁盘文件&#xff08;这个…

lua cURL使用笔记

cURL cURL是 URL命令行工具&#xff0c; 即 command URL&#xff0c; 可以通过命令行模拟各种应用协议的发包&#xff0c; 包括FTP HTTP HTTPS&#xff0c; 官方网站 http://curl.haxx.se/ luacurl lua curl是基于curl的库libcurl&#xff08;http://curl.haxx.se/libcurl/&…