关于类的整理

<?php
//类的三大特性:封装、继承、多态
//封装的目的:为了让类更加安全
//怎么封装:声明成员属性或成员方法时,使用private关键字修饰就实现了对成员的封装,封装之后的成员只能在这个类中被访问,外部无法访问
class Person
{
    private $name;
    private $sex;
    private $age;

    function __construct($sex="男")
    {
        $this->sex=$sex;
    }
    function Run()
    {
        echo"正在走路";
    }
     private function Say()
    {
        return "sing a song";
    }
    function __set($name,$value)
    {
        $this->$name=$value;
    }
    function __get($name)
    {
        return $this->$name;
    }
}
$p = new Person();
//$p->name="simon"; //不能在外部给私有成员赋值
//$p->Say();        //不能在外部调用私有的方法
//var_dump($p);
$p->Run();
$p->name="simon";
var_dump($p);
echo $p->name;
//私有成员的访问:两种,一种是function setName(){}和function getName(){}直接写,这样成员少的情况下可以使用,多了每个都要写增加代码量;
//另一种是__set()和__get()魔术方法自动调用;
//继承:继承就是子类对已存在的父类进行功能拓展,一个父类可以有多个子类,一个子类只有一个父类,多以继承是单向的,子类可以继承父类的一切(private除外)
//继承关键字extends
//访问修饰符有三种:public(谁都可以访问),protected(自己及子类可以访问),private(除了自己谁都访问不了)
//子类中重载父类的方法:其实就是覆盖从父类中继承过来的方法可以定义一个和父类同名的方法,特可以parent::方法名,再新添加一条子类中新声明的成员并且赋值
//final关键字,可以加在类或方法前,不能标识成员属性,使用final标识的类,表示最后一个,不能被继承;使用final标识的成员方法,在子类中不能被覆盖
//static关键字访既可以标识成员变量也可以标识成员方法,与对象无关,static标识的是类
//static访问方式:类名::静态成员变量名;类名::静态成员方法名();
//self,代表该类类似于对象的$this,self::静态成员变量名;self::静态成员方法名();
//const将类中的成员属性定义为常量,使用cinst声明的常量前不需要加$符,
//clone克隆对象
//加载类
//include方法
include("Info.class.php");//将类文件加载到页面,注意参数是一个路径(找到类文件)
include "/wamp/www/0429/Info.class.php";

//另一种加载方法
require_once "./Info.class.php"; //请求目标文件一次
require_once("./Info.class.php");
require("Info.class.php");
//include方法如果类里面出现致命错误,用到这个类的文件就会报错不能继续执行,require方法如果用到这个类的文件出现错误,下面的文件会继续执行

//自动加载类:
function __autoload($classname)//所有的类都是统一的命名规则,所有的类必须都写在同一个文件夹下,类名和文件名一样,才可以用这个方法
{
    include($classname.".class.php");
}

//当前目录./ 或是文件名
//上级目录../
//下级目录:目录名/
//根目录:/
//根目录如果是在php代码里面/代表本地磁盘的根(D盘)
//如果是在html里边/代表当前站点目录(www)

//多态
//概念:当父类引用指向子类实例的时候,有子类对父类函数进行了重写,导致我们在使用该引用去调用相应的方法的时候表现出的不同
//发生条件:1.必须有继承
//子类必须要对父类的方法进行重写

//函数重载(强类型语言才会有)
//函数重载条件:1.函数名必须相同;
//2.函数里边参数的个数不同
//3.如果个数相同,类型不同
//方法名必须一样,方法名一样的的情况下参数的个数不同,参数的个数相同的情况下,参数的类型不一样

//php是弱类型语言,所以没有重载
//php有可变参数的函数

//__tostring()方法

?>
时间: 2024-08-08 09:39:23

关于类的整理的相关文章

建筑设计类软件整理ACDSee,PS,CAD,Ecotect,SketchUp,Phoenics,Revit,Rhino,

关于建筑设计类软件整理 1 建筑设计类专业最常用软件如下,包括SU,CAD, REVIT,PS等. 2 sketch up 简称SU,中文名草图大师,在推敲方案,拉推体块时有着不可或缺的作用,而且随着2015版的到来,SU内容功能更加强化,许多公司已经将其列入必会的软件,随着时代发展,可能在方案深入,以及最终效果中起到重要作用. 3 autoCAD 简称CAD,建筑,环艺,机械类专业必须得用的一个软件,国内普及很广,也是专业类学生用得很精的软件. 4 Revit,目前国外主流公司基于BIM系统上

Objective-C 几何类常用方法整理

Objective-C  几何类常用方法整理 CGGeometry参考定义几何结构和功能,操作简单.数据结构中的一个点CGPoint代表在一个二维坐标系统.数据结构的位置和尺寸CGRect代表的一个长方形.数据结构的尺寸CGSize代表宽度和高度. 1.创建一个几何原始数值    CGPoint  CGPointMake(CGPoint A,CGPoint B) 返回一个指定坐标点 CGRect   CGRectMake(CGFloat x,CGFloat y,CGFloat width,CGF

C#通用类Helper整理

★前言     最近下载了tita_chou在CSDN上传的一个资源,是在工作中整理的C#帮助类,里面包含了很多实用的类,想到我之前收集过自己用到少的可怜的类,心生敬意啊.当粗略的查看了那个资源,发现有一些是重复的,有一些我的里面有的那个没有,于是乎就萌生了重新整理一个属于自己的帮助类,于是乎就花了几个晚上的时间,重新过了一遍,还借用SandCastle工具生成了帮助文档(CHM),这一个开源的工具,感觉生成帮助文档挺方便的,下面会介绍这个工具. ★为什么要整理      为什么要整理这个帮助类

IOS开发--常用工具类收集整理(Objective-C)(持续更新)

前言:整理和收集了IOS项目开发常用的工具类,最后也给出了源码下载链接. 1.让图片不要渲染的工具类 简介:   直接看这个工具类的源码就知道,怎么设置了: 1 // 2 // UIImage+Render.h 3 // Created by HeYang on 16/1/18. 4 // Copyright © 2016年 HeYang. All rights reserved. 5 // 6 7 #import <UIKit/UIKit.h> 8 9 @interface UIImage

【书籍总结】软件类书籍整理(附下载)

前言 最近在收拾电脑,看到很多的电子书跟一些资料,就整理一下,统一放到这里,以后方便查找跟下载,里面大部分的都放在百度云里.以后还会不断更新. 声明    出发点在于分享知识,如果觉得好的话,还是请大家去购买正版支持,谢谢! 书籍清单 1.大话设计模式[PDF版] PS:很经典的一本书,值得一看.目前表示还没有看完 链接: 2.JQuery实战[PDF版] PS:Jquery类的书籍.囧,当成压箱底了,加入必看书籍清单. 链接: 3.jQuery基础教程(中文版)[PDF版] PS:理由 同上.

c++的类(思考题整理)

什么是类 类 类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体.这有点像C语言中的结构,唯一不同的就是结构没有定义所说的"数据相关的操作","数据相关的操作"就是我们平常经常看到的"方法",因此,类具有更高的抽象性,类中的数据具有隐藏性,类还具有封装性. 类的结构 类的结构(也即类的组成)是用来确定一类对象的行为的,而这些行为是通过类的内部数据结构和相关的操作来确定的.这些行为是通过一种操作接口来描述的(也即平

JAVA的StringBuffer类(转载整理)____非常重要的一个类,线程安全,不用每次创建一个对象,以及和String的区别

核心部分转载自:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616330.html StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类. 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入.删除等操作,使用StringBuffer要更加适合一些. 在S

Java集合常用类特点整理

集合的结构如下图所示: 集合的两个顶级接口分别为:Collection和Map Collection下有两个比较常用的接口分别是List(列表)和Set(集),其中List可以存储重复元素,元素是有序的(存取顺序一致),可以通过List脚标来获取指定元素;而Set不可以有重复元素,元素是无序的. List接口中,比较常用的类有三个:ArrayList.Vactor.LinkedList. ArrayList :线程不安全的,对元素的查询速度快. Vector :线程安全的,多了一种取出元素的方式

class类笔记整理

1 # 例:类的概念 2 class 人类: 3 名字 = '未命名' # 成员变量 4 def 说话(内容): # 成员函数 5 print 内容 # 成员变量赋初始值 6 7 某人 = 人类() # 定义一个人类对象某人 8 某人.名字 = "路人甲" 9 某人.说话 ('大家好') # 路人甲说话 10 >>> 大家好! # 输出 Python中定义和使用类的形式为:class 类名[(父类名)]:[成员函数及成员变量],类名为这个类的名称,而父类名为可选,但定