php面向对象基础知识整理之类中的属性和方法的使用
<?php /**
* class Index
* 类包含什么
* 1.创建类
* 2.类的属性和类中方法
* 3.类中访问修饰符
* 4.类的封装、继承、多态
*/ // 创建类,创建的类名是采用驼峰方式
class Index
{
/**
* Index constructor.
* 类的属性,即类中的成员变量
* 1.常量:公共可用,通常大写,若果包含多个单词则以下划线分割
* 2.自定义变量
* 类中的修饰符,
* private(私有的,被该修饰符修饰的成员属性和方法只能在本类中使用),
* public(公有的,被该修饰符修饰的成员属性和方法在任何地方均可使用,若果我们创建的函数没设置修饰符,则默认为public),
* protected(受保护的,被该修饰符修饰的成员属性和方法可以在本类中使用或者在子类中使用),
* static(静态作用域,被该修饰符修饰的成员属性和方法在所有类中均可使用,调用的是有直接使用 类名::属性名/方法名(::被成为范围解释操作符号)),
*
*/
protected $name; // 定义一个受保护的成员属性
const USER_AGE = 12; // 创建一个常量,在调用常量的时候不能间接的使用->来调用该常量
static $height = 120; // 创建一个静态属性
/**
* Index constructor.
* 类的方法
* 最基本的是构造函数,__construct,构造函数在类被实例化的时候,自动调用.当类中不存在构造函数时,默认与类名相同的函数作为构造函数
* 与构造函数相对的就是析构函数,__destruct,析构函数是在类被调用完成时,才执行析构函数
* 自定义函数,类名采用驼峰式命名规范,创建的函数,可以带上参数,也可以不带参数,同时可以给参数这是一个默认值
*/ /**
* 创建构造函数
*/
public function __construct(){
$this->name = "张三"; // 调用类中的成员属性,直接使用$this->
} /**
* 创建public类型的函数
*/
public function index($rank = 12){
echo "大家好,我叫".$this->name."我今年".self::USER_AGE."岁了!我的体重是".Index::$height."公斤。我现在在学校成绩排名为".$rank."名<br/>";
} /**
* 创建静态函数
*/
static function test(){
echo "你正在调用类中的静态函数,恭喜你采用这种方式调用成功了!";
} /**
* 创建析构函数
*/
function __destruct(){
echo "此时类被引用已经结束了!";
} } // 实例化类
$obj = new Index();
$obj->index(); // 不传递参数,此时会打印出如下内容
/**
* 大家好,我叫张三我今年12岁了!我的体重是120公斤。我现在在学校成绩排名为12名
* 此时类被引用已经结束了!
*/ $obj->index(15); // 不传递参数,此时会打印出如下内容
/**
* 大家好,我叫张三我今年12岁了!我的体重是120公斤。我现在在学校成绩排名为15名
* 此时类被引用已经结束了!
*/ // 调用类中静态函数
$obj::test();// 或者采用下面的方式
Index::test(); // 调用类中成员属性
echo ($obj::$height); // 或者采用下面的方式
echo (Index::$height);
php面向对象基础知识整理之类中的属性和方法的使用的更多相关文章
- Java基础知识整理之static修饰属性
static 关键字,我们在开发用的还是比较多的.在<Java编程思想>有下面一段话 static 方法就是没有 this 的方法.在 static 方法内部不能调用非静态方法,反过来是可 ...
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- Kali Linux渗透基础知识整理(二)漏洞扫描
Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...
- 【OGG】OGG基础知识整理
[OGG]OGG基础知识整理 一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与 ...
- Python 面向对象基础知识
面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...
- java部分基础知识整理----百度脑图版
近期发现,通过百度脑图可以很好的归纳总结和整理知识点,本着学习和复习的目的,梳理了一下java部分的知识点,不定期更新,若有不恰之处,请指正,谢谢! 脑图链接如下:java部分基础知识整理----百度 ...
- Java面向对象基础知识汇总
OOP:Orient Object Programe AOP:Aspect Orient Programe 封装:Encapsulation 继承:Inheritance 多态:Polymorphmi ...
- 《前端之路》- TypeScript (四) class 中各类属性、方法,抽象类、多态
目录 一.TypeScript 中的类 二.TypeScript 中类的继承 三.TypeScript 中公共,私有与受保护的修饰符 3-1.属性的 public 3-2.属性的 private 3- ...
- mybatis生成的pojo 中的属性或方法不够我们当做dto使用时
我们在写代码的时候,如果一个 mybatis生成的pojo 中的属性或方法不够我们使用(当做dto和前台交互)时,我们有两种方法: 第一: 直接在 原 pojo 中增加属性或者方法 第二:我们可以再写 ...
随机推荐
- Eclipse Configuration
*** Date: 2013年9月12日星期四中国标准时间上午8时41分50秒 *** Platform Details: *** System properties:applicationXMI=o ...
- C# linq to sql
参考文章地址:http://www.cnblogs.com/yubaolee/p/BestLinqQuery.html 以下是我自己的总结: 表结构: 本文全部代码基于:UserInfo与Clas ...
- Python中深浅拷贝 垃圾回收与 super继承(六)
1 python拷贝 深拷贝,浅拷贝 与引用三者的区别 import copy a = [1, 2, 3, 4, ['a', 'b']] #原始对象 b = a #赋值,传对象的引用 c = copy ...
- mysql_01_游标的使用
一.表的创建 1.直接创建表 DROP TABLE IF EXISTS shops_info; /*EMP产品版本版本信息表*/ CREATE TABLE shops_info ( ID INT PR ...
- Linux--DHCP搭建
服务功能:为局域网中的主机自动分配IP地址.子网掩码.广播地址.默认网关地址.DNS服务器地址 1.安装DHCP服务器软件 [root@localhost Packages]# rpm -ivh dh ...
- 源码安装mysql,及主从同步
源码安装mysql [可选] 如果用源码安装cmake软件: cd /home/oldboy/tools/ tar xf cmake-.tar.gz cd cmake- ./configure #CM ...
- SSH免密钥互信及企业案例
SSH远程免密码: 原理简述:客户端 创建公钥和私钥,公钥是锁,私钥是自己留在客户端的钥匙. 客户端将公钥(锁)发出到服务端,以后自己就能用客户端本地的私钥进行登陆,不用输入密码! 1.客户端,和服 ...
- Android(java)学习笔记3:线程的优先级
1. Java线程的优先级从1到10级别,值越大优先级越高线程默认优先级是5.值越大优先级越高 (1) 继承自Thread类创建线程类: package cn.itcast_04; public cl ...
- 深搜(DFS),回溯,Fire Net
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=2 解题报告: 这里的深搜有一点不同,就是,在深搜每一个点时,都要深搜每 ...
- Ajax综合应用大全(全面解析)
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 JavaScrip ...