学习要点:
1.什么是面向对象
2.OOP 的特点
3.关键的OOP 概念
4.创建OOP
许多语言本身就是面向对象(OOP)的,而PHP 用了几年才引入了这类功能。面向对
象的诞生是开发范型一次的重大改变,编程的注意力重新从应用程序的逻辑回到其数据上
来。换句话说,OOP 将焦点从编程的过程性事件转向最终建模的真实实体。这使得应用程
序更接近于我们周围的现实世界。
一.什么是面向对象
面向过程
这就好比你是公司的一名员工,今天有个任务要在公司组装一批电脑。那么你就开始采
购、讨价还价、运输回公司、开始组装、布线网络、调试机器、完成。也就是说,面向过程
就是具体化的实现,细节明确。
面向对象
这就好像你是公司的总裁,你布置给一名员工一个组装一批电脑的任务。完毕。也就是
说,面向对象就是抽象化的执行,具体还是由那名员工来完成。而细节方面,总裁不需要去
考虑。这样的好处是显而易见的,在有管理高层的公司可以协调作业,而没有管理高层的公
司,只有一些具体实现功能的员工,会乱做一团。
二.OOP的特点
封装
隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级
别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与
操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
继承
继承是从一个基类得到一个或多个类的机制。
继承自另一个类的类被称为该类的子类。这种关系通常用父亲和孩子来比喻。子类将继
承父类的特性。这些特性由属性和方法组成。子类可以增加父类之外的新功能,因此子类也
被称为父类的“扩展”。
多态
多态是指OOP 能够根据使用类的上下文来重新定义或改变类的性质或行为,或者说接
口的多种不同的实现方式即为多态。把不同的子类对象都当作父类来看,可以屏蔽不同子类
对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。
三.关键的 OOP概念
类(class)
类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性
和事件。实际上它本身并不是对象,因为它不存在于内存中。当引用类的代码运行时,类的
一个新的实例,即对象,就在内存中创建了。虽然只有一个类,但能从这个类在内存中创建
多个相同类型的对象。
对象(object)
对象是一件事、一个实体、一个名词,可以获得的东西,可以想象有自己的标识的任何
东西。对象是类的实例化。一些对象是活的,一些对象不是。
比如这辆汽车、这个人、这间房子、这张桌子、这株植物、这张支票、这件雨衣。概
括来说就是:一切皆对象。
例如:类是对象的抽象定义,说白了,如果这个对象是电脑,类可以创建出许多对象,
类可以生成很多电脑,再白一点,类可以当成一个电脑生产厂,可以生成出很多很多台电脑。
字段(filed)
字段是用于描述类的某方面的性质,它与一般的PHP 变量非常相似,只是有一些细微
的差别。
例如:电脑品牌,电脑的型号等特性。
属性(attribute)
通过方法来访问和操作字段,一方面可以保护字段,同时还允许访问公共字段一样访问
数据。
例如:获取电脑品牌,设置电脑品牌等操作。
方法(method)
方法与函数非常相似,只不过方法是用来定义类的行为。与函数一样,方法可以接受输
入参数,可以向调用者返回一个值。
例如:打开电脑,输入文本,运行程序。
四.创建 OOP
类的创建:
<span>class</span><span> Computer { </span><span>//</span><span>类的字段(成员) //类的方法</span> }
对象的声明:
<span>$computer</span> = <span>new</span> Computer();
new 标识符是为了在内测中创建一个对象(实例),而Computer()就是那个类所生
成的实例。
$computer 是一个变量,而且又是生成实例的引用。
有时,你可能需要创建多个对象。
<span>$computer2</span> = <span>new</span> Computer();
使用var_dump()函数可以打印变量的相关信息。
字段(成员)的添加:
<span>class</span><span> Computer { </span><span>//</span><span>类的字段(成员)</span> <span>public</span> <span>$_name</span> = '联想120'<span>; </span><span>public</span> <span>$_model</span> = 'LX'<span>; }</span>
1.声明字段:
<span>public</span> <span>$_name</span> = '联想120'
a) public 是修饰符,表示这是一个公共字段,可以通过外部直接访问。
b) $_name 是变量名。
c) '联想120'是变量的值。
2.读取字段
<span>echo</span> <span>$computer</span>->_name;
3.设置字段
<span>$computer</span>->_name = 'IBM110';
方法的创建
<span>class</span><span> Computer { </span><span>//</span><span>类的方法</span> <span>function</span><span> run() { </span><span>echo</span> '我成功的运行了!'<span>; } }</span>
执行方法
<span>$computer</span>->run();
也可以在方法添加一些参数,执行的时候,传入这些参数。
<span>class</span><span> Computer { </span><span>//</span><span>类的方法</span> <span>function</span> run(<span>$_what</span><span>) { </span><span>echo</span> <span>$_what</span> . '成功的运行了!'<span>; } } </span><span>$computer</span> = <span>new</span><span> Computer (); </span><span>$computer</span>->run('电脑');
构造方法
所谓构造方法,也是方法,只不过是一种特殊的方法。而方法名必须和类名一致,
并且不需要像普通方法一样,必须通过调用才能执行,只需要实例化即完成调用过程。
一般来说,构造方法总是在做一些初始化的工作。
<span>class</span><span> Computer { </span><span>//</span><span>构造方法</span> <span>function</span><span> Computer() { </span><span>echo</span> '我是构造方法!'<span>; } } </span><span>new</span> Computer (); <span>//</span><span>这样即完成了调用</span>
在PHP5 我们可以通过__construct 的内置方法来识别构造方法,而不用再需要和
类名相同了。
<span>class</span><span> Computer { </span><span>//</span><span>构造方法</span> <span>function</span><span> __construct() { </span><span>echo</span> '我是构造方法!'<span>; } }</span>
相对应构造方法,还有一种内置的方法是析构方法,它的用途在整个类使用完毕都
执行。一般可用于清理内存中对象(脚本执行完毕的时候会自动清理)。而如果有脚本执
行完毕后并没有清理的,比如数据库数据等,就有必要使用析构方法。
<span>class</span><span> Computer { </span><span>//</span><span>析构方法</span> <span>function</span><span> __destruct() { </span><span>echo</span> '我是析构方法'<span>; } }</span>
注:文章出自李炎恢PHP视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

뜨거운 주제



