学习php面向对象知识小结
为什么要需要类,以及对象:(参考来自于:houdunren.com)
早期编程由于受电脑硬件限制,程序都是追求效率,而忽略可理解性,扩充性,随着硬件技术的发展,编程越来越重视多人开发,程序员越来越重视程序的可靠性,可扩展性,可维护性,所以刺激了程序语言的发展
面向过程
程序员设计好程序代码流程图,辅助程序设计。优点:用什么功能就编写什么函数 缺点:数据管理上比较混乱 ,主要集中在函数成面上,面向对象把属性和方法进行封装,更好的可重用性和可扩展性
面向对象
万物皆对象,将构成问题的事务分解到各个对象上,建立对象的目的不是为了完成一个工作,而是为了描述某个事务在解决问题中的行为,更符合人的思维习惯,代码重用性高,可扩展性好
类与对象的基本概念(简书:jianshu.com/p/1a719c8ee815)
一、创建一个类并实例化对象
1、类的定义以class关键字开始,后面跟着这个类的名称。类的名称命名通常每个单词的第一个字母大写。
2、定义类的属性
3、定义类的方法
<?php class Human{ //类的属性 public $name; //类的方法 public function sayName(){ echo $this->name; } } //先实例化一个对象 $man = new Human(); //对象的调用方法 $man->name = 'Tom'; echo $man->name; //Tom $man->sayName(); //Tom
打印创建对象
var_dump(new Human); //object(Human)#1 (1) { ["name"]=> NULL } var_dump(new Human()); //object(Human)#1 (1) { ["name"]=> NULL }
两个对象的编号都是#1,说明用new Human()与new Human 都可以创建对象,由于没有变量接收,创建对象后马上就被释放掉了;
$manA = new Human; $manB = new Human(); var_dump($manA); //object(Human)#1 (1) { ["name"]=> NULL } var_dump($manB); //object(Human)#2 (1) { ["name"]=> NULL }
此时的对象编号为#1与#2,此时对象就保存了,可以通过对$manA及$manB的方式使用对象;
(1)是对象的属性个数 ;{ ["name"]=> NULL }为具体的属性