0

0

php面试题中面向对象的题目分析

黄舟

黄舟

发布时间:2017-11-10 10:38:39

|

4493人浏览过

|

来源于php中文网

原创

面向对象是我们学习php必不可少的一部分,很多小伙伴对面向对象都是一知半解的,所以导致很多小伙伴去公司面试的时候,问到php面试题中面向对象的问题就不知道如何是好,在之前的文章我们也介绍php面试题,笔试题,php核心技术题, 今天我们就带大家来看看这个php面试题中的面向对象的题到底有哪些?

php面试题之面向对象题目

1. 写出 php 的 public、protected、private 三种访问控制模式的区别(新浪网技术部)

public:公有,任何地方都可以访问
protected:继承,只能在本类或子类中访问,在其它地方不允许访问
private:私有,只能在本类中访问,在其他地方不允许访问

相关题目:请写出 PHP5 权限控制修饰符
private protected public
2. 设计模式考察:请用单态设计模式方法设计类满足如下需求:
请用 PHP5 代码编写类实现在每次对数据库连接的访问中都只能获得唯一的一个数据库连接,具体连接数据库的详细代码忽略,请写出主要逻辑代码(新浪网技术部)
3. 写出下列程序的输出结果(新浪网技术部)
c = 10;
        }
    }

    class b extends a
    {
        public function print_data()
        {
            return $this->c;
        }
    }

    $b = new b();
    echo $b->print_data();
?>

输出结果 10

[!]4. PHP5 中魔术方法函数有哪几个,请举例说明各自的用法 (腾讯 PHP 工程师笔试题)

sleep serialize 之前被调用
wakeup unserialize 时被调用
toString 打印一个对象时被调用
set_state 调用 var_export 时被调用,用set_state的返回值作为 var_export 的返回值
construct 构造函数,实例化对象时被调用
destruct 析构函数,当对象销毁时被调用
call 对象调用某个方法,若存在该方法,则直接调用,若不存在,则调用call 函数
get 读取一个对象属性时,若属性存在,则直接返回,若不存在,则调用get 函数
set 设置一个对象的属性时,若属性存在,则直接赋值,若不存在,则调用set 函数
isset 检测一个对象的属性是否存在时被调用
unset unset 一个对象的属性时被调用
clone 克隆对象时被调用
autoload 实例化一个对象时,如果对应的类不存在,则该方法被调用

相关题目:请写出 php5 的构造函数和析构函数

构造函数:construct
析构函数:destruct

立即学习PHP免费学习笔记(深入)”;

5. 如何使用下面的类,并解释下面什么意思?
Get_test("itcast");
    echo $encryption;
?>

双重 md5 加密

6. How would you declare a class named “myclass” with no methods or properties?(Yahoo)
class myclass{};
相关题目:如何声明一个名为“myclass”的没有方法和属性的类?
7. How would you create an object, which is an instance of “myclass”? (Yahoo)
$obj= new myclass();
相关题目:如何实例化一个名为“myclass”的对象?
8. How do you access and set properties of a class from within the class?(Yahoo)

使用语句:$this->propertyName,例如:

propertyName = "value";
        }
    }
?>
9. The code below _ because .(腾讯)

A. will work, class definitions can be split up into multiple PHP blocks.
B. will not work, class definitions must be in a single PHP block.
C. will not work, class definitions must be in a single file but can be in multiple PHP blocks.
D. will work, class definitions can be split up into multiple files and multiple PHP blocks.
答案: B

10. 类的属性可以序列化后保存到 session 中,从而以后可以恢复整个类,这要用到的函数是。
serialize() 和 unserialize()
11. 在 PHP 中,如果派生类与父类有相同名字的函数,则派生类的函数会替换父类的函数,程序结果为
disName();
?>

A. tmp
B. Picachu
C. disName
D. Doraemon
E. 无输出
答案:D

12. 接口和抽象类的区别是什么?

抽象类是一种不能被实例化的类,只能作为其他类的父类来使用。抽象类是通过关键字abstract 来声明的。
抽象类与普通类相似,都包含成员变量和成员方法,两者的区别在于,抽象类中至少要包含一个抽象方法,抽象方法没有方法体,该方法天生就是要被子类重写的。
抽象方法的格式为:abstract function abstractMethod();

接口是通过 interface 关键字来声明的,接口中的成员常量和方法都是 public 的,方法可以不写关键字 public,接口中的方法也是没有方法体。接口中的方法也天生就是要被子类实现的。
抽象类和接口实现的功能十分相似,最大的不同是接口能实现多继承。在应用中选择抽象类还是接口要看具体实现。
子类继承抽象类使用 extends,子类实现接口使用 implements。

13. 类中如何定义常量、如何类中调用常量、如何在类外调用常量。

类中的常量也就是成员常量,常量就是不会改变的量,是一个恒值。定义常量使用关键字 const,例如:const PI = 3.1415326;
无论是类内还是类外,常量的访问和变量是不一样的,常量不需要实例化对象,访问常量的格式都是类名加作用域操作符号(双冒号)来调用,即:类名:: 类常量名

14. autoload()函数是如何运作的?

使用这个魔术函数的基本条件是类文件的文件名要和类的名字保持一致。
当程序执行到实例化某个类的时候,如果在实例化前没有引入这个类文件,那么就自动执行autoload()函数。

YIXUNCMS中秋专版2.0.4
YIXUNCMS中秋专版2.0.4

系统介绍:YIXUNCMS中专专版是易迅软件工作室在中秋节来临之即推出的专题模板建站系统,使用增强版后台管控系统,板板设计符合节日特点。易迅软件工作室恭祝全国人民中秋快乐。特别提示:由于网站页面的不同设计,部分后台功能未在前端进行体现。系统特点:1、采用目前流行的PHP语言编写,底层采用超轻量级框架作为系统支撑;2、页面布局使用DIV+CSS技术,遵循WEB标准,及大提高页面的浏览速度;3、使用应

下载

这个函数会根据实例化的类的名称来查找这个类文件的路径,当判断这个类文件路径下确实存在这个类文件后就执行 include 或者 require 来载入该类,然后程序继续执行,如果这个路径下不存在该文件时就提示错误。

15. 哪种OOP设置模式能让类在整个脚本里只实例化一次?(奇矩互动)

A. MVC
B. 代理模式
C. 状态模式
D. 抽象工厂模式
E. 单件模式
答案:E

16. 借助继承,我们可以创建其他类的派生类。在PHP中,子类最多可以继承几个父类?(奇矩互动)

A. 1个
B. 2个
C. 取决于系统资源
D. 3个
E. 想要几个有几个
答案:A

17. 执行以下代码,输出结果是(奇矩互动)

A. a
B. 一个错误警告
C. 一个致命性的报错
答案:C 因为类a是抽象类,不能被实例化

18. 执行以下代码,输出结果是

A. echo class a something echo class b something
B. echo class b something echo class a something
C. echo class a something
D. echo class b something
答案:D
类 b 继承自类 a,两个类都定义了构造函数,由于二者名字相同,所以子类中的构造函数覆盖了父类的构造函数,要想子类对象实例化时也执行父类的构造函数,需要在子类构造函数中使用 parent::construct()来显示调用父类构造函数。

19. 请定义一个名为MyClass的类,这个类只有一个静态方法justDoIt。(卓望)
20. 只有该类才能访问该类的私有变量吗?(卓望)

是的

21. 写出你知道的几种设计模式,并用php代码实现其中一种。(卓望)

单例模式,工厂模式
单例模式 实现代码 见 第二题

总结:

我们在这个片文章中,我们主要给大家汇总了一下php面试题中关于面向对象中的一些常见面试问题,具体细节大家可以自己扩展,希望对你有所帮助!

相关推荐:

最让人容易出错的10道php面试题


php面试题中php核心技术的问题分享


php面试题中笔试题目的汇总


2017最全的php面试题目及答案总结


相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
excel制作动态图表教程
excel制作动态图表教程

本专题整合了excel制作动态图表相关教程,阅读专题下面的文章了解更多详细教程。

20

2025.12.29

freeok看剧入口合集
freeok看剧入口合集

本专题整合了freeok看剧入口网址,阅读下面的文章了解更多网址。

65

2025.12.29

俄罗斯搜索引擎Yandex最新官方入口网址
俄罗斯搜索引擎Yandex最新官方入口网址

Yandex官方入口网址是https://yandex.com;用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2025.12.29

python中def的用法大全
python中def的用法大全

def关键字用于在Python中定义函数。其基本语法包括函数名、参数列表、文档字符串和返回值。使用def可以定义无参数、单参数、多参数、默认参数和可变参数的函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

python改成中文版教程大全
python改成中文版教程大全

Python界面可通过以下方法改为中文版:修改系统语言环境:更改系统语言为“中文(简体)”。使用 IDE 修改:在 PyCharm 等 IDE 中更改语言设置为“中文”。使用 IDLE 修改:在 IDLE 中修改语言为“Chinese”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

C++的Top K问题怎么解决
C++的Top K问题怎么解决

TopK问题可通过优先队列、partial_sort和nth_element解决:优先队列维护大小为K的堆,适合流式数据;partial_sort对前K个元素排序,适用于需有序结果且K较小的场景;nth_element基于快速选择,平均时间复杂度O(n),效率最高但不保证前K内部有序。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

12

2025.12.29

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

134

2025.12.29

抖音网页版入口在哪(最新版)
抖音网页版入口在哪(最新版)

抖音网页版可通过官网https://www.douyin.com进入,打开浏览器输入网址后,可选择扫码或账号登录,登录后同步移动端数据,未登录仅可浏览部分推荐内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

63

2025.12.29

快手直播回放在哪看教程
快手直播回放在哪看教程

快手直播回放需主播开启功能才可观看,主要通过三种路径查看:一是从“我”主页进入“关注”标签再进主播主页的“直播”分类;二是通过“历史记录”中的“直播”标签页找回;三是进入“个人信息查阅与下载”里的“直播回放”选项。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

18

2025.12.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.1万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号