首页 > 后端开发 > 正文

php面向对象编程self和static的区别 一个很简单的PHP面向对象 问题

2024-12-11 10:34:11 | 我爱编程网

今天我爱编程网小编整理了php面向对象编程self和static的区别 一个很简单的PHP面向对象 问题相关信息,希望在这方面能够更好帮助到大家。

本文目录一览:

php面向对象编程self和static的区别 一个很简单的PHP面向对象 问题

php面向对象编程self和static的区别

在php的面向对象编程中,总会遇到
class test{
public static function test(){
self::func();

static::func();
}

public static function func(){}
}
可你知道self和static的区别么?

其实区别很简单,只需要写几个demo就能懂:

Demo for self:

class Car
{
public static function model(){
self::getModel();
}

protected static function getModel(){
echo "This is a car model";
}
}
Car::model();
Class Taxi extends Car
{
protected static function getModel(){
echo "This is a Taxi model";
}
}
Taxi::model();
得到输出
This is a car model
This is a car model
可以发现,self在子类中还是会调用父类的方法

Demo for static

class Car
{
public static function model(){
static::getModel();
}

protected static function getModel(){
echo "This is a car model";
}
}

Car::model();

Class Taxi extends Car
{
protected static function getModel(){
echo "This is a Taxi model";
}
}

Taxi::model();
得到输出
This is a car model
This is a Taxi model
可以看到,在调用static,子类哪怕调用的是父类的方法,但是父类方法中调用的方法还会是子类的方法(好绕嘴。。)

在PHP5.3版本以前,static和self还是有一点区别,具体是什么,毕竟都是7版本的天下了。就不去了解了。

总结呢就是:self只能引用当前类中的方法,而static关键字允许函数能够在运行时动态绑定类中的方法。

php面向对象编程self和static的区别 一个很简单的PHP面向对象 问题

php面向对象三大特性(php的面向对象)

php是什么

PHP属于编程语言的一种,是一种用于创建动态和交互式HTML网页的脚本语言。

编程语言是一种被标准化的交流技巧,用来向计算机发出指令,定义计算机程序,让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动的一种计算机语言。而编程语言包含很多细分,而PHP就是其中一种。

它的主要特性为:

①开源性和免费性

由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。

②快捷性

PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。

③数据库连接的广泛性

PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。

④面向过程和面向对象并用 我爱编程网

在PHP语言的使用中,可以分别使用面向过程和面向对象,而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。

优点

①流行,容易上手

PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。

②开发职位很多

在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。

③仍然在不断发展

PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。

④可植入性强

PHP语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。

⑤拓展性强

PHP语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高

PHP真的能算是面向对象的语言吗?

面向对象三大特性:封装,继承,多态

php可以封装对象,也可以继承,同样可以实现多态

多态是指指出重写和重载,php子类可以重写父类的方法,也可以通过方法的参数数量不同来重载方法,我觉得是面向对象语言

哪些是面向对象程序设计的三大特征

封装性、继承性、多态性。

1、封装性:

具备封装性(Encapsulation)的面向对象编程隐藏了某一方法的具体运行步骤,取而代之的是通过消息传递机制发送消息给它。封装是通过限制只有特定类的对象可以访问这一特定类的成员,而它们通常利用接口实现消息的传入传出。

通常来说,成员会依它们的访问权限被分为3种:公有成员、私有成员以及保护成员。有些语言更进一步:Java可以限制同一包内不同类的访问;C#和VB.NET保留了为类的成员聚集准备的关键字:internal(C#)和Friend(VB.NET);Eiffel语言则可以让用户指定哪个类可以访问所有成员。

具备封装性(Encapsulation)的面向对象程序设计隐藏了某一方法的具体执行步骤,取而代之的是通过消息传递机制传送消息给它。

2、继承性:

继承性是面向对象技术中的另外一个重要特点,其主要指的是两种或者两种以上的类之间的联系与区别。继承,顾名思义,是后者延续前者的某些方面的特点,而在面向对象技术则是指一个对象针对于另一个对象的某些独有的特点、能力进行复制或者延续。

如果按照继承源进行划分,则可以分为单继承(一个对象仅仅从另外一个对象中继承其相应的特点)与多继承(一个对象可以同时从另外两个或者两个以上的对象中继承所需要的特点与能力,并且不会发生冲突等现象)。

如果从继承中包含的内容进行划分,则继承可以分为四类,分别为取代继承(一个对象在继承另一个对象的能力与特点之后将父对象进行取代);

包含继承(一个对象在将另一个对象的能力与特点进行完全的继承之后,又继承了其他对象所包含的相应内容,结果导致这个对象所具有的能力与特点大于等于父对象,实现了对于父对象的包含)、受限继承、特化继承。

3、多态性:

从宏观的角度来讲,多态性是指在面向对象技术中,当不同的多个对象同时接收到同一个完全相同的消息之后,所表现出来的动作是各不相同的,具有多种形态。

从微观的角度来讲,多态性是指在一组对象的一个类中,面向对象技术可以使用相同的调用方式来对相同的函数名进行调用,即便这若干个具有相同函数名的函数所表示的函数是不同的。

扩展资料:

面向对象编程语言

支持部分或绝大部分面向对象特性的语言即可称为基于对象的或面向对象的语言。Simula?(1967)被视为第一个具有面向对象特性的语言。早期,完全面向对象的语言主要包括Smalltalk等语言,目前较为流行的语言中有Java、C#、Eiffel等。

随着软件工业的发展,比较早的面向过程的语言在近些年的发展中也纷纷吸收了许多面向对象的概念,比如C→C++,C→Objective-C,BASIC→VisualBasic→VisualBasic.NET,Pascal→ObjectPascal,Ada→Ada95。

“纯粹”的面向对象语言,因为所有的东西都是由对象所组成,例如:Eiffel,Emerald,JADE,Obix,Ruby,Scala,Smalltalk,Self。

脚本中的OOP

近年来,面向对象的程序设计越来越流行于脚本语言中。Python和Ruby是创建在OOP原理的脚本语言,Perl和PHP亦分别在Perl5和PHP4时加入面向对象特性。

php面向对象和面向过程的区别

1.面向过程就是你把代码封装成子过程或函数(procedure),然后依次去做一件事情;

2.面向对象就是你把要做的事情抽象成对象,然后告诉具体的那一个对象去做。

3.面向对象三大特性(封装,继承,多态)使得在做复杂的事情的时候效率和正确率得到保证。

4.在实际的编程中“面向对象”和“面向过程”两种开发思想一定是同时都用到了的,现在宣传最多的“面向对象”实际上是以面向对象为主题,面向过程为辅助,往往过分了夸大其作用。

简述php的特点及作用

PHP是一种服务器端、跨平台、html嵌入式的脚本语言。

执行速度快:PHP是一种强大的CGI脚本语言,语法混合了C、Java、Perl和PHP式的新语法,执行网页比CGI、Perl和ASP更快,这是它的第一个突出的特点。

扩展资料:

PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。

在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。

参考资料来源:百度百科-PHP(超文本预处理器)

PHP语言的有哪些优势和特点?

优势和特点:

1、执行速度快:PHP是一种强大的CGI脚本语言,语法混合了C、Java、Perl和PHP式的新语法,执行网页比CGI、Perl和ASP更快,这是它的第一个突出的特点。

2、具有很好的开放性和可扩展性:PHP属于自由软件,其源代码完全公开,任何程序员为PHP扩展附加功能非常容易。

3、数据库支持:PHP支持多种主流与非主流的数据库,如:、AdabasD、DBA、dBase、dbm、filePro、Informix、InterBase、mSQL、MySQL、MicrosoftSQLServer、Solid、Sybase、ODBC、oracle、oracle8、PostgreSQL等。其中,PHP与MySQL是现在绝佳的组合,它们的组合可以跨平台运行。

4、面向对象编程:PHP提供了类和对象。为了实现面向对象编程,PHP4及更高版本提供了新的功能和特性,包括对象重载、引用技术等。

5、版本更新速度快:与数年才更新一次的ASP相比,PHP的更新速度就要快得多,因为PHP每几周就更新一次。

6、具有丰富的功能:从对象式的设计、结构化的特性、数据库的处理、网络接口应用、安全编码机制等,PHP几乎涵盖了所有网站的一切功能。

7、可伸缩性:传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。

8、功能全面:php包括图形处理、编码与解码、压缩文件处理、xml解析、支持http的身份认证、cookie、pop3、snmp等。

扩展资料:

PHP的发展现状:

PHP技术核心和相关的人才需求,正符合互联网的发展趋势。网站开发、API接口开发,服务器端开发,移动端后台开发,内部OA系统开发,游戏开发等均用到PHP语言。

在IT行业和互联网的飞速发展的时代,企业对PHP开发人员的需求也大幅增加,目前在国内专业的互联网招聘网站,好多知名公司发布招聘PHP岗位,其中包括网易、京东、联想、阿里巴巴、滴滴打车、美团、大众点评、易到用车、百度、新浪、搜狐、奇虎、腾讯等。

参考资料来源:

百度百科-PHP

一个很简单的PHP面向对象 问题

我爱编程网(https://www.52biancheng.com)小编还为大家带来一个很简单的PHP面向对象 问题的相关内容。

如果不是写在类里 你这个就是一个函数
如果写在类里 你这个就是一个类里的一个方法
function_get()括号里如果没有参数就不要填 直接调用这个函数可以了
括号中间的是参数,意思就是你写这个函数的时候需要外部调入的数据才能完成
function __set($name,$value) 不一定是类里的属性 不是很熟悉对类 是外部传入的参数 比如
$a=1;$b=8;
function _set($a,$b)
{
return $a+$b;
}
$c= _set($a,$b);
这个时候$c就是9
不知道你看懂了没 呵呵

以上,就是我爱编程网小编给大家带来的php面向对象编程self和static的区别 一个很简单的PHP面向对象 问题全部内容,希望对大家有所帮助!更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
标签: PHP
与“php面向对象编程self和static的区别 一个很简单的PHP面向对象 问题”相关推荐
一个很简单的PHP面向对象 问题(面向对象PHP程序题)
一个很简单的PHP面向对象 问题(面向对象PHP程序题)

一个很简单的PHP面向对象问题如果不是写在类里你这个就是一个函数如果写在类里你这个就是一个类里的一个方法function_get()括号里如果没有参数就不要填直接调用这个函数可以了括号中间的是参数,意思就是你写这个函数的时候需要外部调入的数据才能完成function__set($name,$value)不一定是类里的属性不是很熟悉对类是外部传入的参数比如$a=1;$b=8

2024-08-20 00:24:09
php无参数函数 一个很简单的PHP面向对象 问题
php无参数函数 一个很简单的PHP面向对象 问题

100个最常用的PHP函数(记得收藏哦)以下是100个最常用的PHP函数列表,它们是PHP编程语言中常用的内置函数。这些函数按照使用频率从1到100进行排序。请注意,还有约4500个函数未在此列表中排名,所有这些数据来源于对1900个PHP开源项目的审查,使用了Exakat静态分析引擎的1.2.5版本。平均值代表在单个项目中使用这些函数的次数,有些是封装使用,而有些则是主要功能。例如,

2024-11-24 02:02:38
PHP中的函数-- foreach()的用法详解(一个很简单的PHP面向对象 问题)
PHP中的函数-- foreach()的用法详解(一个很简单的PHP面向对象 问题)

PHP中的函数--foreach()的用法详解PHP4引入了foreach结构,和Perl以及其他语言很像。这只是一种遍历数组简便方法。foreach仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。复制代码代码如下:foreach(array_expressiona

2024-11-21 18:38:06
php多态详解(php面向对象和面向过程的区别?)
php多态详解(php面向对象和面向过程的区别?)

php多态详解php中的多态按字面上意思理解就是“多种形状”,可以理解为多种表现形式,即“一个对外接口,多个内部实现方法”;在面向对象的理论中,多态性是指同一个操作作用于不同的类的实例,将产生不同的执行结果。PHP多态多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息将可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以适合

2024-09-15 06:33:37
php 获取某字符串中某字符最后出现的位置 一个很简单的PHP面向对象 问题
php 获取某字符串中某字符最后出现的位置 一个很简单的PHP面向对象 问题

php获取某字符串中某字符最后出现的位置各函数情况如下:1、strstr(string,string)=strchr(,)//从前面第一次出现某个字符串的地方截取到最后2、strrchr(string,string)//从某个字符串从最后出现的位置截取到结尾3、strpos(string,string[,int])//某个字符串第一次出现的位置4、strrpos

2025-01-21 16:26:37
php是面向对象语言吗?
php是面向对象语言吗?

php常用的设计模式?php除了mvc还有什么架构1.YiiYii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web2.0应用开发所需要的几乎一切功能。

2024-09-11 02:28:54
说说php面向对象编程时static,public,private,protected 各有什么意义
说说php面向对象编程时static,public,private,protected 各有什么意义

说说php面向对象编程时static,public,private,protected各有什么意义staticpublic与publicstatic是等价的,这两者只是两个修饰符的顺序不同。根据oracle.com教材中第八章的描述,如果两个或两个以上的(不同的)字段修饰符出现在字段声明,它们出现的顺序需与FieldModifier一致,这只是习惯,但不是必需的。部分修饰符说明:public

2024-09-03 22:31:07
Python之什么叫面向对象
Python之什么叫面向对象

Python之什么叫面向对象面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象的编程是以对象为中心,以消息为驱动,所以程序=对象+消息。面向对象有三大特性,封装、继承和多态。封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化

2024-01-01 09:19:01