类与对象 忘是亡心i 2022-07-28 11:49 212阅读 0赞 在面向对象的编程语言中,类是对对象的抽象,在类中可以定义对象的属性和方法的描述;对象是类的实例,类只有被实例化后才能被使用。 # 定义类 # 在PHP中,使用关键字class加类名的方式定义类,然后用大括号包过类体,在类体中定义类的属性和方法。类的格式如下: <?php class MyClass { private $var; public function fun() { // 。。。。 } } MyClass为类的名称,两个大括号中间的部分就是类的全部内容。在PHP5以前的版本中,使用关键字var声明类的属性;而在PHP5(包括5)以后的版本中,引入了private、protected和public关键字,分别用来定义私有、保护和共有成员,这就可以使程序更加安全。类和定义成员函数的方法与定义普通函数的方法相同,而且还可以用关键字private、protected和public对成员函数的访问权限进行限定。 注意: 一个类,即一对大括号之间的全部内容都要在一个代码段中,即一个`"<?php ..... ?>"`之间,不能分割成多块儿,例如: <?php class MyClass{ //.. ?> <?php ../ } ?> 这种格式是不正确的 # 实例化类 # 对类定义完成后并不能直接使用,还需要对类进行实例化,即声明对象。PHP中使用关键字new来声明一个对象。格式如下: 对象名 = new 类名(var0, var1, ….varn) 在对象进行实例化时,需要为类的构造方法指定参数。 例如: 定义一个学生类(Student类),在类体中定义成员变量`$name`和`$age`分别用来表示学生姓名和年龄;\_\_construct()为类的构造方法,用于为类的成员变量初始化;最后定义方法getNameAndAge()来输出学生信息 <?php class Student { private $name; private $age; public function __construct($name, $age)//定义构造方法 { $this->name = $name; $this->age = $age; } public function getNameAndAge() { return "学生" . $this->name . "今年" . $this->age . "周岁"; } } $student = new Student("小明", 15); echo $student->getNameAndAge(); 运行结果为: 学生小明今年15周岁 # 使用对象 # 对类定义完成后,需要将其进行实例化后才能使用,对象可以调用类中的公有属性和公有方法,即被关键字public修饰的属性和方法。调用方法如下: 对象名->属性; //调用类的属性 对象名->方法; //调用类的方法 对上述代码中可以发现,PHP调用类的属性和方法使用符号”->”而非”.”,与其他的一些语言不同,初学者应该注意,不要混淆。 例如: 定义类BOOK,并在类中定义公有成员`bookName`代表书名,公有方法`getBookName()`用来获取图书名称。对Book类进行实例化后分别通过`bookName`属性和`getBookName()`方法在页面中输出图书名称。 <?php Class Book { public $bookName; public function __construct($bookName)//定义构造方法 { $this->bookName = $bookName; } public function getBookName() { return $this->bookName; } } $book = new Book("《PHP从入门到放弃》"); echo $book->bookName; echo "<br>"; echo $book->getBookName(); 运行结果为: 《PHP从入门到放弃》 《PHP从入门到放弃》 注:如果将类体中的属性或方法声明为私有或保护的成员,再次运行本实例将提示信息错误。所以从上面的实例可知,PHP的属性只能直接调用类的公有属性和公有方法。 # 成员变量 # 在类中所定义的变量成为成员变量(也可成为属性或字段)。成员变量用来保存信息数据,或与成员方法进行交互来实现某项功能。 定义成员变量的格式一般为: 变量声明符 成员变量名。 说明:变量声明符可以使用public,private,protected,static和final中的任意一个。(有关这些的详细用法,小编正在更新,敬请期待) 访问成员变量和访问成员方法是一样的,只要把成员方法换成成员变量即可,格式为: 对象名->成员变量 例如: 在MyClass类中声明一个成员变量`$class_name`,接着为这个变量声明两个成员方法`$setClassName()`和`$getClassName()`。实例化MyClass类并为类的构造函数传递参数”Hello PHP”,最后输出结果 <?php class MyClass { public $class_name; function setClassName($name) { $this->class_name = $name; } function getClassName(){ return $this->class_name; } } $c_book = new MyClass(); $c_book->setClassName("Hello PHP"); echo $c_book->class_name.'<br>'; echo $c_book->getClassName(); 运行结果为: Hello PHP Hello PHP # 成员函数 # 在类体中所定义的函数称为成员函数或成员方法,主要是为了实现某项功能,在PHP4.x中定义成员函数的方法与定义普通函数的方法相同,而在PHP5.x中可以为成员方法设置权限修饰符,从而可以有效的提高代码的逻辑性和安全性。PHP5.x中定义类的成员函数的语法格式如下: 访问权限修饰符 function 成员函数名 (var0, var1, …, varn) \{ //函数体 \} 例如: 定义类MyClass并在类体中定义属性`$name`,定义公有方法`setName()`和`getName()`分别用来为属性`$name`赋值和获取`$name`的值,代码如下: <?php Class MyClass { private $name; public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } } $myClass = new MyClass();//对类进行实例化 $myClass->setName("计算机"); echo $myClass->getName(); 运行结果为: 计算机 纯手打,有关面向对象的详细讲解,仍在持续更新,如有不到之处,望多多指正。
相关 【类与对象】 `类和对象` 类是对现实生活中一类具有`共同属性`和`行为`的事物的抽象。 `类的特点` 1.类是对象的数据类型。 2.类是具有相同属性和行为的一组对象的集合 快来打我*/ 2024年03月23日 14:23/ 0 赞/ 63 阅读
相关 类 与 对象 三大特征 1.封装 通过`private` , `default`,`protected`,`public`关键字实现属性或方法封装,仅对外提供公共访问方式。+ “ 朴灿烈づ我的快乐病毒、/ 2024年03月16日 09:43/ 0 赞/ 38 阅读
相关 类与对象 类:是对某一事物的抽象描述,通过方法(成员方法)和属性(成员变量)来描述事物。 对象:对象是实际存在的该类事物的个体,因而也称实例。 创建圆类: 1 pac 傷城~/ 2023年08月17日 16:08/ 0 赞/ 131 阅读
相关 类与对象 匿名对象 使用匿名对象的两种情况: 1. 一个对象只需进行一次调用 new Cylinder().setLength(2,5,3); new 刺骨的言语ヽ痛彻心扉/ 2023年03月14日 10:59/ 0 赞/ 1 阅读
相关 类与对象 太极生两仪,两仪生四象,四象生八卦,八卦衍万物,万物皆对象; ![在这里插入图片描述][20200713112925588.png] ![在这里插入图片描述][wate 淡淡的烟草味﹌/ 2023年02月25日 14:25/ 0 赞/ 4 阅读
相关 类与对象 类与对象 1.1 什么是类 类在生活语言中就像是种类、类别,一些事物的总称。类在Java编程 语言中属于一个较广泛的概念,而细分后,类里边还会有对象,类就是 一 傷城~/ 2022年09月25日 04:23/ 0 赞/ 225 阅读
相关 类与对象 在面向对象的编程语言中,类是对对象的抽象,在类中可以定义对象的属性和方法的描述;对象是类的实例,类只有被实例化后才能被使用。 定义类 在PHP中,使用关键字cl 忘是亡心i/ 2022年07月28日 11:49/ 0 赞/ 213 阅读
相关 类与对象 Person per = new Person(); 声明对象:栈内存中声明的,与数组一样,数组数组名就保存在栈内存中,只开辟栈内存的对象是无法使用的,必须使用其堆内 超、凢脫俗/ 2022年07月12日 06:15/ 0 赞/ 245 阅读
相关 类与对象 2.1 类和对象的定义与使用 类的定义: Class 类名\{ 数据成员\-静态属性 成员函数\-动态行为 \} 对象的定义: 类名 对象名 与 int a的 逃离我推掉我的手/ 2022年05月21日 06:57/ 0 赞/ 267 阅读
相关 类与对象 类与对象 1.1 什么是类 类在生活语言中就像是种类、类别,一些事物的总称。类在Java编程 语言中属于一个较广泛的概念,而细分后,类里边还会有对象,类就是 一 以你之姓@/ 2022年04月12日 03:09/ 0 赞/ 304 阅读
还没有评论,来说两句吧...