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 来输出该对象

php面向对象的初认识的更多相关文章
- php面向对象(一) 初窥
初窥php面向对象 1.类:类就是属性和方法的集合 是一个抽象的概念比如生活中的“人”,"汽车"2.对象:对象是具体的事物 比如一叫“小强”的人 一辆叫“奥迪a7”的汽车3.类和对 ...
- 从零开始的全栈工程师——JS面向对象(初篇)
面向对象编程 面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式.它使用先前建立的范例,包括模块化,多态和封装几种技术.今天,许多流行的编程语言(如Java,JavaScript,C#,C+ ...
- 第四章 Js的面向对象的初窥视(天生的哈希表)
对象就有键值对 var speaker = { text: "Hello World", say: function(){ console.log("Hello Worl ...
- 【web前端面试题整理02】前端面试题第二弹袭来,接招!
前言 今天本来准备先了解下node.js的,但是,看看我们一个小时前与一个小时后的差距: 既然如此,我们继续来搜集我们的前端面试题大业吧!!! 特别感谢玉面小肥鱼提供哟,@玉面小飞鱼 题目一览 Jav ...
- JavaScript精要
写在开篇之前 这个系列都文章算是我最近研究了JavaScript(以后简称js)大半个月的一点心得吧.记得以前看过罗小平的一本书叫<Delphi精要>,我也就姑且起名叫<JavaSc ...
- 面向对象初调用:foolish 电梯
本周我们完成的任务是傻瓜电梯的调度,对于那十分十分详细的指导书,我感觉想要说明白题目要求,是做不到的,所以就把指导书贴出来给大家看了,,由于在下还不会网页制作,只能通过百度网盘了,https://pa ...
- 闭包初体验 -《JavaScript面向对象编程指南》
下面是我对闭包的理解:(把他们整理出来,整理的过程也是在梳理) 参考<JavaScript面向对象编程指南> 1.首先,在理解闭包之前: 我们首先应该清楚下作用域和作用域链 作用域:每个函 ...
- TypeScript之面向对象初体验
1.安装nodejs和vscode: nodejs : https://nodejs.org/en/ Visual Studio Code : https://www.visualstudio.co ...
- python_92_面向对象初体验
class dog: def __init__(self,name): self.name=name def bulk(self): print('%s汪汪汪!'%self.name) d1=dog( ...
随机推荐
- 2018-12-22-WPF-在绑定表达式添加计算
title author date CreateTime categories WPF 在绑定表达式添加计算 lindexi 2018-12-22 16:12:56 +0800 2018-12-22 ...
- Python自学:第四章 在for循环结束后执行一些操作
# -*- coding: GBK -*- magicians = ['alice', 'david', 'carolina'] for magician in magicians: print(ma ...
- 分享安装Apache、MySQL、PHP、LAMP的完整教程
Operation timed out after 30000 milliseconds with 0 out of -1 bytes received请注意,在Linux中输入密码时,不会显示您输入 ...
- HTML 5 基础
HTML 参考手册 HTML 5 视频 controls 属性供添加播放.暂停和音量控件. <video src="movie.ogg" width="320&qu ...
- 尚学linux课程---10、linux环境下安装python
尚学linux课程---10.linux环境下安装python 一.总结 一句话总结: 直接在官网下载python的源码包即可,然后在linux下安装 linux下安装软件优先想到的的确是yum,但是 ...
- javascript中onclick(this)用法和onclick(this.value)用法介绍
onclick(this.value)代码详解 <html> <head> <script language="javascript"> fun ...
- 如何清除本机DNS缓存
如何清除本机DNS缓存 在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其 解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成 ...
- SpringBoot:目录
ylbtech-SpringBoot:目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://yl ...
- mavlink 笔记1
Packet Anatomy This is the anatomy of one packet. It is inspired by the CAN and SAE AS-4 standards. ...
- this关键字、static关键字、block块、封装类以及继承、import、修饰符的初步了解
this关键字 定义 在类的方法定义中使用this关键字代表使用该方法的引用. this即"自己",代表对象本身,谁调用代表谁.在成员方法中或构造器中隐式的传递. this的两种用 ...