面对对象常用的一些关键子:http://www.cnblogs.com/xishaonian/p/6146794.html排版不是很好望见谅. THE END…
该阶段学习参考:http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/09/10/1823042.html 面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计) OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成. OOP达到了软件工程的三个目标:重用性.灵活性.扩展性. 为了实现整体运算,每个对象都能够接收信息.处理数据和向其它对象发送信息.面向对象一直是软件开发…
多态是除封装和继承之外的另一个面象对象的三大特性之一. 多态的作用简而言之就是为程序做括展. 比如说在公司上班,每个月财务发放工资,同一个发工资的方法,在公司内不同的员工或是不同职位的员工,都是通过这个方法发放的,但是所发的工资都是不相同的.所以同一个发工资的方法就出现了多种形态. <?php /** * 使用多态计算矩形的周长面积.以及圆形的面积跟周长. */ interface test{ #声明一个test接口 function zhouchang(); #声明一个zhouchang方法…
$b=clone ($a) #克隆a对象. <?php class Human { private $name; private $sex; private $age; function __construct($name,$sex,$age) { $this->name=$name; $this->sex=$sex; $this->age=$age; } function say(){ echo $this->name."是他的名字."; } } $a=…
__set() 在对象访问私有成员的时候自动被调用,达到了给你看,但是不能给你修改的效果!(在对象访问一个私有的成员的时候就会自动的调用该魔术方法) __get() 方法用于获取私有属性值.(在设置私有属性的时候将会自动调用) __isset() 方法用于检测私有属性值是否被设定.(当外部使用isset读类内部进行检测对象是否有具有某个私有成员的时候就会被自动调用!) __unset() 方法用于删除私有属性.(在外部调用类内部的私有成员的时候就会自动的调用__unset魔术方法) 一篇关于魔术…
PHP与大多数面向对象编程语言一样,不支持多重继承.也就是说每个类只能继承一个父类. 接口正是解决每个类只能继承一个父类这个问题的 接口用什么权限,继承的那个方法也要使用什么权限. 接口的声明使用:interface 接口的继承使用:implements 目录++++++++++++++++++++++++++++++++++++++++++++ 00x1 接口的声明以及接口的引用(案例一) 00x2 如何继承多个接口(案例二) 00x3 判断某个对象是否实现了某个接口(案例三) +++++++…
使用static关键字可以将类中的成员标识为静态的,既可以用来标识成员属性,也可以用来标识成员方法. 以Person类为例,如果在person类中有一个“$country=’china’”的成员属性,任何一个Person类的对象都会拥有自己的一份$country属性,对象之间不会干扰. 而static成员是作为整个类的属性存在,如果将$country属性使用static关键字标识,则不管通过Person类创建多少个对象(甚至可以是没有对象),这个static成员总是唯一存在的,在多个对象之间共享…
函数就是成员方法(方法有三:构造方法.成员方法.析构方法) 下面是两种方法. 构造方法和构析方法 00x1 构造方法 构造方法会在创建对象之后自动调用.其名称为__construct <?php class Student{ var $name; var $age; var $sex; function __construct(){ //可以从输出中看得出来,我们并没有输出这个方法,但是他自动输出了.这个就是构造方法的作用,会自动的被调用! echo "520PHP<br />…
$this就是对象内部代表这个对象的引用 可以调用被封装的方法或者属性! <?php class Person{ private $name; "; var $sex; function play(){ echo "他正在玩儿呢"; } private function Hello(){ //使用private封装hello方法.该方法不可直接调用.但是可以在内部使用$this调用. echo "这个是被封装的内容"; } function stud…
使用一个减号一个尖括号->来达到访问对象成员. $object->方法 来看案例. <?php class Person{ private $name; "; var $sex; function play(){ echo "他正在玩儿呢"; } function study(){ echo "他正在学习!"; } } $wangdaniu=new person; $wangdaniu->sex="男"; //重…
直接看案例.较为简单.不解释. <?php $chengji="; #先定义一个变量赋值一个数值 switch ($chengji) { && $chengji >= ; #case的意思是案例.倘若这个案例成立就执行输出否则不执行 echo "优秀"; break; && $chengji >= ; echo "中等"; break; ; echo "垃圾"; break; defau…
简而言之就是调用了一个类中没有的方法就会自动调用__call()方法, 该参数有两个必须的参数! 第一个参数:调用的不存在的方法的方法名. 第二个参数:调用不存在的方法的参数. 但是总的说回来,__call方法的具体作用是什么呢? 目录----------------------------------------------------------------- 00x1 不存在案例. ------------------------------------------------------…
什么是抽象方法?我们在类里面定义的没有方法体的方法就是抽象方法.所谓的没有方法体指的是,在方法声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时还要加一个关键字“abstract”来修饰. 我在好奇,抽象类可以拿来做什么?其实可以当做一个全局变量  不能实例化,只能继承重写,而且是必须重写 PHP抽象类应用要点: 1.定义一些方法,子类必须完全实现这个抽象中所有的方法 2.不能从抽象类创建对象,它的意义在于被扩展 3.抽象类通常具有抽象方法,方法中没…
Final的作用就是不允许儿子继承夫类,也就是说不能够对父类在进行调用,否则将会出错. 目录--------------------------------------------------------------------------------------------- 00X1 对父类的属性或方法进行重写(直接在子类当中写一个与夫类相同的属性或者方法)案例一 00x2 不允许子类重写属性或者方法(在属性或方法处加final)案例二 00x3 不允许子类重写父类(直接在类那里加final…
其实之前就已经在封装的时候说到了.这个也属于封装的范畴吧. 用到的三个关键字(旁边是其中文翻译) private(私有的) public(公众的) protected(受保护的) 00X1 private 只能自自己id类里访问,子类也不能访问! 00x2 public 在外部可以直接被调用. 00x3  protected 只有自身类和子类可以调用. THE END…
如下图所示.人就是父类!而NBA球员以及女主播就是子类 要继承一个类,那么在类名的后面加上extends 要继承的类名 具体格式:class Student extends human{}     #Student继承human这个类. 案例如下: <?php class human { var $name; var $sex; var $age; function __construct($name,$sex,$age) { $this->name=$name; $this->sex=…
所谓封装顾名思义,如同箱子般给封装起来.结合前面的来说就是对属性或者方法,封装后的方法或属性只能有类内部进行调用.外部调用不了. 封装性的好处: 1.信息隐藏 2.http://www.cnblogs.com/yisss/p/3412702.html 3.https://zhidao.baidu.com/question/2203595698703331308.html 目录------------------------------------- 00X1 进行封装 00x2 如何调用封装的属…
当定义好类后,我们使用new关键字来实例化一个对象! 格式: $object = new 类名; <?php class Person{ private $name; "; private $sex; function play(){ echo "他正在玩儿呢"; } function study(){ echo "他正在学习!"; } } $wangdaniu=new person; //该处就是实例化一个对象 echo $wangdaniu-&g…
简单的说 变量就是成员属性函数就是成员方法(方法有三:构造方法[即为__construct].成员方法.析构方法[__destruct]) 成员方法和成员属性都是可以加修饰词.比如封装性的方法或者属性的时候就需要用到这个修饰词!倘若在不知道该用什么修饰符的情况下可用var 以下是一个简单的类实现. <?php class Person{ //定义一个Person的类,需要注意的是首字母需要大写!同python一样. private $name; //属性 "; //属性 private $…
前面所将仅仅是在纯mysql下的讲解,这节就是要将其搬到PDO台面上来了. 将自动提交关闭. SetAttribute下有一个PDO::ATTR_AUTOCOMMIT 将其设置为0即可关闭,如:$pdo ->setAttribute(PDO::ATTR_AUTOCOMMIT,0); 切记在最后的时候要将其设置为开启.如:$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,1); <?php try{ $pdo = new pdo("mysql:hos…
一千个读者,一千个哈姆雷特.对于面对对象编程,书上都会告诉我们它有三个基本特性,封装,继承,多态,但谈起对这三点的见解,又是仁者见仁智者见智,感觉还是得多去编程中体验把 . 面向对象编程(OOP, Object Oriented Programming)是一种编写程序的方法,旨在提升开发大型程序的效率,使程序易于维护 . 面向对象编程是一种基于以下思路的程序设计方法:将关注点置于对象(Object)本身,对象的构成要素包含对象的行为及操作,以此为基础进行编程.这种方法使程序易于复用,软件的生产效…
1.对象魔法 在面对对象编程中,术语对象大致意味着一系列数据(属性)以及一套访问和操作这些数据的方法. 使用对象而非全局变量以及函数的原因有多个,而最重要的好处不过以下几点: 多态:可对不同类型的对象执行相同的操作,而这些操作全部能够正常运行. 封装:对外部隐藏有关对象工作的具体细节. 继承:可基于通用类创建专用类. 1.1多态 术语多态源于希腊语,意思是有多种形态,这大致意味着即使你不知道变量指向的是哪个对象,也能够对其执行操作,且操作的行为随着对象所属的类型(类)而异. 1.2多态和方法 >…
1.C++面对对象编程: a.定义: 类定义是以关键字 class 开头,后跟类的名称.类的主体是包含在一对花括号中.类定义后必须跟着一个分号或一个声明列表. 关键字 public 确定了类成员的访问属性.在类对象作用域内,公共成员在类的外部是可访问的.您也可以指定类的成员为 private 或 protected,私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问. 类提供了对象的蓝图,所以基本上,对象是根据类来创建的.声明类的对象,就像声明基本类型的变量一样: Box B…
面对对象编程估计我们最早接触到的就是__init__了,也就是实例的初始化处理过程: 1:来看看最基础的__init__ class Card(object): #抽象类Card,并不用于实例化 def __init__( self, rank, suit ): self.suit= suit self.rank= rank self.hard, self.soft = self._points() print("try") class NumberCard( Card ): def…
上篇博客中解说了一些js对象的基本概念和使用方法.这篇博客解说一下js属性方面的:公有属性.私有属性,特权方法. 假设学过java.公有属性.私有属性,特权方法(即能够訪问和设置私有属性的方法)一定非常熟悉.那么让我们来看看在js里怎样实现呢? 1.公有属性 首先看公有的第一层意思是能够被大家所訪问的.对外开放的属性,是相对于私有属性而言的: function Person(name,age){ this.name=name; this.age=age; this.getName=functio…
说到js,非常大一部分人会说我非常熟悉,在日常的web开发中经经常使用,那么你的js代码是符合面对对象思路的吗?那你会问我面向过程的js代码有什么不好吗?我的感受是面对对象的js编码更加简洁,降低了混乱,可维护行增强,适合编写富client时应用. 好了,首先看看js里怎样定义对象: <html> <head> <script type="text/javascript"> var obj=new Object(); obj.name='josh';…
面对过程的程序设计方法意在将函数分成子函数,再依次调用这些函数来解决问题. 而面对对象的程序设计方法,来源于自然界,类是实例的抽象,实例是类的具体.自定义出来的对象是类,而所有的数据都可以看成是对象,因此解决问题的方法是靠对象自己处理消息和相互传递消息.使用时,首先考虑的是需要创建什么样的对象,对象中有怎么样的属性,要实现什么功能(成为方法). 面向对象的抽象程度比函数要高,因为一个class中既包含数据,又包含操作数据的方法.其中,数据封装.继承和多态是面向对象的三大特点. 创建类时,clas…
首先要说一下常见的三种错误: 1.语法错误 2.运行错误 3.逻辑错误 00x1 错误报告及错误级别 PHP的错误分为三个等级 1.注意(notice)   没有变量a 2.警告(warning) 没有给函数传值 3.致命的错误(fatal error) 函数写错 错误的报告级别可以在PHP.ini当中修改.在PHP.ini当中找到错误报告“error_reporting = E_ALL ” 这个的意思是将所有的错误都提示出来.ps:~是除了的意思.&是和的意思.error_reporting…
class animal(object): def run(): print('animal is running...') class dog(animal): def run(self): print('dog is running...') def eat(self): print('Eating meat')class cat(animal): pass a=dog() #dog和cat自动拥有了父类animal的run()方法a.run() #子辈的run()方法覆盖了父辈的run()…
实现的功能: 1.实现远程获取和采集内容2.实现PHP 网页版的FTP上传下载3.实现模拟登陆:去一个邮件系统,curl可以模拟cookies4.实现接口对接(API),数据传输等:通过一个平台发送短信啊,抓取和传递所传输的信息.5.实现模拟Cookie等:登陆的状态下才可以操作一些属性. 如何使用CURL功能: 默认情况加PHP是不支持CURL的,需要在php.ini中开启该功能;extension=php_curl.dll前面的分号去掉 案例一[爬行百度]: test.php代码如下 <?p…