php面向对象的初认识
面向对象的基本概念
面向对象的三大特征:继承 封装 多态
类和对象:
类是一个抽象的概念
对象是一个具体的实例
张三是一个对象,李四也是一个对象。王五同样是一个对象。。。。。
他们都隶属于“人”这个“类”(人类),同时我们也可以说隶属于“脊椎动物类”,还可以说属于动物类,甚至生物。
类:是用于描述“某一些具有共同特征”的物体的概念,是某一类物体的总称。
通常,一个类所具有的共同特征包括2大方面的信息:
外观,形状,描述,数据。。。。。属性
行为,动作,功能。。。。。。。。方法。
对象:是指一个具体的“物体”,该物体隶属于某个“类别”(类)。
通常,对象离不开类,没有类,就不能有对象。
通过一个需求来了解面向对象(面向对象的思想由来)
需求:
有两猫:一只名字叫小白,今年3岁,白色。还有一只叫小花,今年10岁,花色。请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色。如果用户输入的小猫名错误,则显示 张没有这只猫猫。
首先用现有的技术来解决这个问题(思想)
方案1:给每个小猫定义三个变量来记录猫的信息:
$cat_name = '小白';
$cat_age = 2;
$cat_color = "白色";
以上虽然能够解决问题但是不利于数据的管理和维护
方案二:使用数组
$cat = array('name' =>"小白",'age' =>"2",'color'=>"白色");
使用数组来记录要好点,但是不能对数组进行有效的操作(函数)
方案三:使用面向对象编程的方式来解决
//先定义一个 类
class cat{
public $name;
public $age;
public $color;
} //定义一个对象
$cat1 = new cat(); //给该猫的对象赋值
$cat1->name = "小白";
$cat1->age = 2;
$cat1->color = "白色"; //下面简单使用一下
echo "<br>";
echo '小猫的信息如下';
echo '<br>小猫的名字是 ' . $cat1->name;
echo '<br>小猫的名字是 ' . $cat1->age ;
echo '<br>小猫的名字是 ' . $cat1->color ;
下面来简单说明一说明:
(1) class 是一个关键字,表示这是一个类,不能修改
(2) public $name , 是一个成员属性, 当我们类定义的{} 中定义的变量,就是一个成员属性
(3) public 是访问修饰符, 他是用于控制成员属性(变量)的访问范围的, 除了public还有两个,protected 和 private ,后面我们会详细介绍
(4) $cat1 = new Cat , 这个叫实例化一个对象, $cat1 就是一个对象, new 是一个关键字,表示新创建一个对象
(5) $cat1->name = '小白'; 表示给成员属性赋值,-> 符号叫做对象运算符
(6) 当我们需要看一个对象的情况时,我们可以通过 var_dump 来输出该对象
最新文章
- eclipse — Failed to load the JNI shared library”……\jvm.dll问题原因以及解决方案
- c#窗体虚线图形验证码设计
- [转]PLSQL Developer备份恢复oracle数据
- 在CentOS 7 上搭建LAMP
- iOS发布条款检查表
- JS判断用户是否在线的方法
- 如何实现Conditional Include
- 实时消息传输协议 RTMP(Real Time Messaging Protocol)
- PTVS在Visual Studio中的安装
- C#面试题记录
- 使用travis-ci自动部署github上的项目
- C++获取基类指针所指子类对象的类名
- 理解矩阵与线性代数<;转>;
- TED学习笔记
- vue中<;select>;绑定事件
- request.getSession()几种获取情况之间的差异
- spring资源访问接口和资源加载接口
- Python 使用 xlwings 往 excel 中写入一行数据的两种方法
- ActiveMQ Advisory Message
- Java的大内存分页支持
热门文章
- Pathfinding 模板题 /// BFS oj21413
- leetcode 题型 数据结构 解法 分类总结
- 纯css制作小三角
- CSIC_716_20191119【常用模块的用法 subprocess、re、logging、防止自动测试、包的理论】
- The Preliminary Contest for ICPC Asia Nanjing 2019 C. Tsy&#39;s number 5
- jquery学习笔记(三):事件和应用
- jeecms jeecmsv93建库
- 9个搜索引擎优化(SEO)最佳实践
- 安装MySQL出现的this application
- 17.splash_case02