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 中增加属性或者方法 第二:我们可以再写 ...
随机推荐
- SQL注入和XSS攻击的原理
8.4 Web跨站脚本攻击 8.4.1 跨站脚本攻击的原理(1) 跨站脚本在英文中称为Cross-Site Scripting,缩写为CSS.但是,由于层叠样式表 (Cascading Style ...
- .NET开源工作流RoadFlow-表单设计-隐藏域
隐藏域即<input type="hidden" value=""/>标签:
- 【NLP_Stanford课堂】词形规范化
一.为什么要规范化 在做信息检索的时候,一般都是精确匹配,如果不做规范化,难以做查询,比如用U.S.A去检索文本,结果文本里实际上存的是USA,那么实际上应该能查到的结果查不到了. 所以需要对所有内容 ...
- vue + element-ui 制作tab切换(适用于单页切换不同标记显示不同内容)
本篇文章使用vue结合element开发tab切换单页不同的标记显示不同的内容. 1.安装element-ui npm install element-ui --save 2.在main.js中引入e ...
- 数据结构与算法分析java——线性表3 (LinkedList)
1. LinkedList简介 LinkedList 是一个继承于AbstractSequentialList的双向链表.它也可以被当作堆栈.队列或双端队列进行操作.LinkedList 实现 Lis ...
- 推荐一个Chrome扩展应用,能够自动去除CSDN广告
作为一个程序员,每天编程遇到问题时,少不了前往国内著名的CSDN网站上查信息,看是否有同行遇到类似问题.很多时候根据遇到问题的错误消息进行搜索,结果都是一篇篇CSDN博客.这些博客打开后都会显示很多广 ...
- Python语言程序设计基础(4)—— 程序的控制结构
PM2.5 pm = eval(input()) if pm>=75: print("空气存在污染") else : print("空气没有污染") pr ...
- HDU 4278 卡特兰,区间DP
题意:每个人有一个DI值,现在有一个小黑屋,这些人的顺序可以利用这个小黑屋调整,调整方式是入栈出栈方式,也就是说,这里的方案是有卡特兰数个方式. 调整后使得 d1*0 + d2*1 + d3*2 + ...
- 常用PowerShell命令
查看版本: 文件重命名: 别名查看: 当前路径:(别名pwd) 切换路径:(别名cd) 子列表:(别名ls -Force可查看隐藏项) 查看用户:(可显示隐藏) 资源管理器打开当前目录:(cmd亦可 ...
- Android学习笔记_11_ListView控件使用
一.界面设计: 1.activity_main.xml文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk ...