<?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面向对象基础知识整理之类中的属性和方法的使用的更多相关文章

  1. Java基础知识整理之static修饰属性

    static 关键字,我们在开发用的还是比较多的.在<Java编程思想>有下面一段话 static 方法就是没有 this 的方法.在 static 方法内部不能调用非静态方法,反过来是可 ...

  2. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  3. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  4. 【OGG】OGG基础知识整理

    [OGG]OGG基础知识整理 一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与 ...

  5. Python 面向对象基础知识

    面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...

  6. java部分基础知识整理----百度脑图版

    近期发现,通过百度脑图可以很好的归纳总结和整理知识点,本着学习和复习的目的,梳理了一下java部分的知识点,不定期更新,若有不恰之处,请指正,谢谢! 脑图链接如下:java部分基础知识整理----百度 ...

  7. Java面向对象基础知识汇总

    OOP:Orient Object Programe AOP:Aspect Orient Programe 封装:Encapsulation 继承:Inheritance 多态:Polymorphmi ...

  8. 《前端之路》- TypeScript (四) class 中各类属性、方法,抽象类、多态

    目录 一.TypeScript 中的类 二.TypeScript 中类的继承 三.TypeScript 中公共,私有与受保护的修饰符 3-1.属性的 public 3-2.属性的 private 3- ...

  9. mybatis生成的pojo 中的属性或方法不够我们当做dto使用时

    我们在写代码的时候,如果一个 mybatis生成的pojo 中的属性或方法不够我们使用(当做dto和前台交互)时,我们有两种方法: 第一: 直接在 原 pojo 中增加属性或者方法 第二:我们可以再写 ...

随机推荐

  1. 20_AOP_Advice增强1(前置、后置、环绕)

    [增强的类型] 1.前置增强:org.springframework.aop.BeforeAdvice. 由于Spring只支持方法级别的增强,所以MethodBeforeAdvice是目前可用的前置 ...

  2. iPython与notebook的基本用法

    1 Ipython 安装 pip install ipython 2 Notebooke 基本用法 启动ipython使用ipython 启动notebook 使用 ipython notebook ...

  3. android 自定义

    初级: 1.Android自定义View之一:初探实例 ——> onDraw 2.getwidth和getmeasuredwidth的区别以及两者的使用场景 3.Android 自定义View ...

  4. Spring MVC开发初体验

    1.目标实现Spring MVC : Hello World! 2.工程创建步骤 new : Dynamic Web Project lib引入Spring框架libs/*.jar touch web ...

  5. angularJS 单页面 两个及以上个 ng-app 的处理方式

    <div ng-app="myApp1" ng-controller="myCtrl1"> 名: <input type="text ...

  6. django搭建简单开发项目流程(一)

    1 搭建环境 sudo apt-get install python3-pip 安装pip3 sudo pip3 install virtualenv 安装虚拟环境 virtualenv -p pyt ...

  7. escape,unescape与encodeURIComponent,decodeURIComponent

    escape:将string转成unicode字符串 escape('

  8. 【LOJ2461】「2018 集训队互测 Day 1」完美的队列(分块+双指针)

    点此看题面 大致题意: 让你维护\(n\)个有限定长度的队列,每次区间往队列里加数,求每次加完后的队列里剩余元素种类数. 核心思路 这道题可以用分块+双指针去搞. 考虑求出每个操作插入的元素在队列中被 ...

  9. Ubuntu14.04系统下无法连接Wi-Fi无线网以及安装BCM43142网卡驱动的解决方案

    1.问题描述 博主近日开始学习ROS,首先必装Linux操作系统,选择的是Ubuntu14.04,安装过程略过,直接讲问题.安装完系统之后发现一个重要问题,没法使用Wi-Fi,只能使用有线网络,而且网 ...

  10. Android学习笔记_70_一个应用程序启动另一个应用程序的Activity

    第一种(我自己写的) :之前在网上看来一些,很多不是我要的可以启动另外一个应用程序的主Activity. //这些代码是启动另外的一个应用程序的主Activity,当然也可以启动任意一个Activit ...