1、类的观点
1)类便是分类、种别、模板、观点等,类是无形的、看不见、摸不着,不实际存在的。
2)类是具有相同属性和行为的一组工具的凑集,它为属于该类的全部工具供应了统一的抽象描述,其内部包括属性和行为两个紧张部分。例如:所有在学校学习的人,具有相同的属性:学号、姓名、性别等;具有相同的行为:学习。以是,这些人构成一个类,即学生类。
2、工具的观点
1)客不雅观天下中任何一个事物都可以算作一个工具,工具看得见、摸得着,实际存在的。
2)工具是构成系统的基本单位。任何一个工具都应具有这两个要素:属性(Attribute)和行为(Behavior)。例如:学生“张三”是一个工具,他有属性:学号、姓名、性别等;行为有:学习、用饭等。
3)工具来自于某个类,工具不能单独存在。一个类可以产生万万千万个工具。
4)工具和类的关系是,工具是类的实例,类是工具的模板。
5)类是抽象的,险些不占用内存,而工具是详细的,占用存储空间。
二、类的定义
1、类的定义语法格式
//定义一个学生类class Student{ //声明成员属性:便是普通变量定义 //成员属性可以赋默认值,也可以不赋值 //成员属性必须加权限访问润色符 //权限润色符:public(公共)、protected(受保护)、private(本类) public $name=\公众张三\"大众; public $age=18; //声明成员方法:便是普通函数定义 //成员方法可以带权限润色符,也可省略,省略后为public //类中的普通代码只能存在于方法中 function info() { echo \"大众信息……\公众; }}
2、成员属性先容
1)类的成员属性,便是指某个类具有的公共的特色、特性;
2)类中定义的变量,便是类的成员属性;
1)类的成员属性和普通变量的差异:类的成员属性必须要带权限润色符,而普通变量不须要。
3、成员方法先容
1)类的方法,便是某个类的公共的的行为或动作;
2)类的成员方法,与普通函数一样,都有返回值和参数;
3)成员方法与普通函数差异:成员方法只能存在于类中,成员方法定义前可以添加访问权限润色符;
3)提示:成员方法可以省略权限润色符,默认访问权限是public。
4、权限润色符
2)public(公共权限):在任何地方都可以访问,紧张包括:类外、本类中、子类中都可以访问。
3)private(私有权限):只能在本类中被访问,在类外和子类中都无权访问。
4)protected(受保护的权限):只能在本类中和子类中被访问,在类外不能被访问。
三、创建类的实例工具
1、实例化工具的含义
1)定义类是为了生产工具,如果不生产工具,类就没故意义。
2)一个类可以产生万万千万个工具,工具帮我们干活。
3)工具实例化:从一个类上光降盆工具过程,便是类的实例化。
2、语法格式
1)利用new关键字来创建工具。
2)JS创建工具的方法:var today = new Date()
3)PHP创建工具的方法:$obj = new Student()
四、工具属性操作
//创建一个学生类class Student{ //声明成员(工具)属性 public $name=\"大众张三\"大众; public $age=18;}//类的实例化$obj=new Student();//增加一个工具属性(给不存在的属性赋值)$obj->edu=\"大众大专\"大众;print_r($obj); //删除一个工具属性unset($obj->age);print_r($obj); //修正一个工具属性$obj->name=\公众李四\公众;print_r($obj); //显示一个工具属性echo $obj->name;
结果如下:
图片.png
五、工具方法操作
六、伪变量$this的利用
伪变量公式输入有误this变量来代替当前工具,例如:公式输入有误this代表当前工具,是到当前工具的一个引用;
4)公式输入有误this只能用在工具方法定义中,去调用工具的成员属性或成员方法。
6)只有创建工具后,$this变量才存在。类不会自动运行。
示例:
//创建一个学生类class Student{ //声明成员(工具)属性 private $name=\"大众张三\公众; private $age=18; //返回一个水平线 private function showLine() { return \"大众<hr>\"大众; } //公共的成员方法 public function showInfo() { $str=\"大众<h2>{$this->name}的基本信息如下:</h2>\公众; $str.=$this->showLine(); $str.=\公众{$this->name}的年事是{$this->age}岁\公众; echo $str; }} //类的实例化$obj=new Student();//调用类的成员方法$obj->showInfo();
结果如下:
七、类常量的定义
1、类常量先容
1)可以把在类中始终保持不变的值定义为常量,例如:圆周率、班级名称等。
2)常量的值必须是一个定值,不能修正,也不能删除;
3)类常量便是类的常量,是与类干系的,与工具无关。
4)类常量在内存中只有一份,不管创建多少个工具。
5)类常量可以极大节省做事器内存,可以被所有工具去共享。
2、类常量定义和调用格式
1)类常量没有权限,只有属性和方法才会有权限。
2)利用const来定义类的常量(局部常量),只能在局部浸染域下利用;define()定义常量是全局常量,在任何地方都可以利用。
示例:
//创建一个数据库类class Db{ //定义类常量 const DB_HOST = \"大众localhost\公众; const DB_USER = \公众root\"大众; const DB_PASS = \公众123\"大众; public function showInfo() { //访问类常量语法:ClassName::常量名 //双引号内只能解析变量,不能解析常量 $str = \"大众主机名:\"大众.Db::DB_HOST; $str .= \"大众<br>用户:\"大众.Db::DB_USER; $str .= \"大众<br>密码:\公众.Db::DB_PASS; echo $str; } }//在类外直接访问类常量$str = \"大众主机名:\"大众.Db::DB_HOST;$str .= \公众<br>用户:\"大众.Db::DB_USER;$str .= \"大众<br>密码:\公众.Db::DB_PASS;echo $str;echo \"大众<br>\公众;//创建类工具$db = new Db();$db->showInfo();
结果如下:
八、静态属性和静态方法
1)static关键字润色的属性,便是静态属性;
2)static关键字润色的方法,便是静态方法;
3)静态属性:便是类的属性,与类干系,与工具无关;
4)静态方法:便是类的方法,与类干系,与工具无关;
5)类的东西(类常量、静态属性、静态方法),通过\"大众类名::\"大众来调用;
6)静态属性,在内存中只有一份,被所有工具去共享,例如:人数
7)静态属性或静态方法的好处:便是为了节省内存。例如:创建了100个工具,而静态属性只有一份。
8)静态属性和类常量的差异:类常量在一次HTTP要求过程值永久不变;但是静态属性可以改变。
9)静态属性和静态方法,都可以加权限掌握符,而类常量没有权限。
示例:
//创建一个学生类class Student{ //私有的静态属性:便是类的属性 //调用语法:ClassName::静态属性 private static $name = \公众张三\"大众; private static $age = 18; //返回一个水平线 private static function showLine() { return \"大众<hr>\公众; } //公共的静态方法 public static function showInfo() { $str = \公众学生基本信息如下:<br>\公众; $str .= Student::showLine(); $str .= Student::$name.\"大众的年事是\"大众.Student::$age.\"大众岁\"大众; echo $str; }}//直接调用类的静态方法Student::showInfo();
结果如下:
图片.png
九、self关键字利用
1)公式输入有误this关键字用来调用工具的属性和方法;
3)self用来调用类常量、静态属性、静态方法;
4)$this关键字只能在成员方法中利用;
5)self关键字可以在成员方法和静态方法中利用;
示例:
好啦,先先容到这里,这里推举的都是干货,以是……求关注求收藏,须要更多精彩内容,请详细理解尚学堂哦!
放一个美美的图哟!