php面向对象的程序设计

PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。以下是小编为大家搜索整理的php面向对象的程序设计, 希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

public 公有的:本类,子类,外部对象都可以调用

protected 受保护的:本类 子类,可以执行,外部对象不可以调用

private 私有的:只能本类执行,子类与外部对象都不可调用

面向对象编程的三大特点

1)封闭性

封闭性,也可以称为信息隐藏。就是将一个类的使用和实现分开,只保留有限的接口(方法)与外部联系。对于用到该类的开发人员,只要知道这个类如何使用即可,而不用去关心这个类是如何实现的。这样做可以让开发人员更好地把精力集中起来专注别的事情,同时也避免了程序之间的相互依赖而带来的不便。

2)继承性

继承性就是派生类(子类)自动继承一个或多个基类(父类)中的属性与方法,并可以重写或添加新的属性和方法。继承这个特性简化了对象和类的创建,增加了代码的可重性。继承分单继承和多继承,PHP所支持的是单继承,也就是说,一个子类有且只有一个父类。

3)多态性

多态性是指同一个类的不同对象,使用同一个方法可以获得不同的结果,这种技术称为多态性。多态性增强了软件的灵活性和重用性。

类的定义

一个类可以包含有属于自己的常量,变量(称为“属性”)以及函数(称为“方法”)。

和很多面向对象的语言一样,PHP也是通过class关键字加类名来定义类的。类的格式如下:

Class myobject{

//……

}

?>

定义:物以类聚,把具有相似特性的对象归到一个类中,类定义了这些相似对象拥有的相同属性和方法。类是相似对象的描述,称为类的定义,是该类对象的蓝图或原型。

类的对象称为类的一个实例。要创建一个类的实例,必须使用 new 关键字。

001ZpQGYty6MeYnSNUh25&690

//类的定义以关键字class开始,类的命名通常以每个单词第一个字母大写

class NbaPlayer{

public $name = "Jordan"; //定义属性

public $height = "198cm";

public $team = "Bull";

public $playerNumber = "23";

//定义方法

public function run(){

echo "Running\n";

}

public function dribblr(){

echo "Dribbling\n";

}

public function pass(){

echo "Passing\n";

}

}

//类到对象的实例化

//类的实例化为对象时使用关键字new,new之后紧跟类的名称和一对括号

$jordan = new NbaPlayer();

//对象中的属性成员可以通过"->"符号来访问

echo $jordan->name."\n";

//对象中的成员方法可以通过"->"符号来访问

$jordan->dribble();

$jordan->run();

?>

成员方法

类中的函数被称为成员方法。函数和成员方法唯一的区别就是,函数实现的是某个独立的功能,而成员方法是实现类中的一个行为,是类的一部分。

下面就来扩充上面的myobject类,为它添加一个成员方法,代码如下:

classmyobject{

function getobjectname($name){

echo "商品名称为:".$name;

}

}

?>

该方法的作用是输出商品名称,商品名称是通过方法的参数传进来的。

类是一个抽象的描述,是功能相似的一组对象的集合。如果想用到类中的方法和变量,首先就要把它具体落实到一个实体,也就是对象上。

类常量

既然有变量,当然也会有常量了。常量就是不会改变的量,是一个恒值。众所周知的一个常量就是圆周率Pi。定义常量使用关键字const如:

ConstPI=3.14159;

构造函数

PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

//类的定义以关键字class开始,类的命名通常以每个单词第一个字母大写

class NbaPlayer{

public $name = "Jordan"; //定义属性

public $height = "198cm";

public $team = "Bull";

public $playerNumber = "23";

//构造函数,在对象被实例化的时候自动调用

function __construct($name,$height,$weight,$team){

echo "It is an NbaPlayer constructor\n";

$this->name = $name;

//$this是PHP里面的伪变量,表示对象自身。可以通过$this->的方式访问对象的属性和方法

$this->height = $height;

$this->weight = $weight;

$this->team = $team;

}

//定义方法

public function run(){

echo "Running\n";

}

public function dribblr(){

echo "Dribbling\n";

}

public function pass(){

echo "Passing\n";

}

}

//类到对象的实例化

//类的实例化为对象时使用关键字new,new之后紧跟类的名称和一对括号

$jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");

//对象中的属性成员可以通过"->"符号来访问

echo $jordan->name."\n";

//对象中的成员方法可以通过"->"符号来访问

$jordan->dribble();

$jordan->run();

//每一次用new实例化对象的时候,都会用类名后面的参数列表调用构造函数

$james = new NbaPlayer("James","203cm","120kg","Heat")

echo $james->name."\n";

?>

析构函数

//类的定义以关键字class开始,类的命名通常以每个单词第一个字母大写

class NbaPlayer{

public $name = "Jordan"; //定义属性

public $height = "198cm";

public $team = "Bull";

public $playerNumber = "23";

//构造函数,在对象被实例化的时候自动调用

function __construct($name,$height,$weight,$team){

echo "It is an NbaPlayer constructor\n";

$this->name = $name;

//$this是PHP里面的.伪变量,表示对象自身。可以通过$this->的方式访问对象的属性和方法

$this->height = $height;

$this->weight = $weight;

$this->team = $team;

}

//析构函数,在程序执行结束的时候会自动调用

//析构函数通常被用于清理程序使用的资源。比如程序使用了打印机,那么可以再析构函数里面释放打印机资源

function __destruct(){

echo "Destroying".$this->name."\n";

}

//定义方法

public function run(){

echo "Running\n";

}

public function dribblr(){

echo "Dribbling\n";

}

public function pass(){

echo "Passing\n";

}

}

//类到对象的实例化

//类的实例化为对象时使用关键字new,new之后紧跟类的名称和一对括号

$jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");

//对象中的属性成员可以通过"->"符号来访问

echo $jordan->name."\n";

//对象中的成员方法可以通过"->"符号来访问

$jordan->dribble();

$jordan->run();

//每一次用new实例化对象的时候,都会用类名后面的参数列表调用构造函数

$james = new NbaPlayer("James","203cm","120kg","Heat")

echo $james->name."\n";

//通过把变量设为null,可以触发析构函数的调用

//当对象不再使用的时候会触发析构函数

$james = null;

echo "from now on James will not be used.\n"

?>

析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。

对象的引用

//类的定义以关键字class开始,类的命名通常以每个单词第一个字母大写

class NbaPlayer{

public $name = "Jordan"; //定义属性

public $height = "198cm";

public $team = "Bull";

public $playerNumber = "23";

//构造函数,在对象被实例化的时候自动调用

function __construct($name,$height,$weight,$team){

echo "It is an NbaPlayer constructor\n";

$this->name = $name;

//$this是PHP里面的伪变量,表示对象自身。可以通过$this->的方式访问对象的属性和方法

$this->height = $height;

$this->weight = $weight;

$this->team = $team;

}

//析构函数,在程序执行结束的时候会自动调用

//析构函数通常被用于清理程序使用的资源。比如程序使用了打印机,那么可以再析构函数里面释放打印机资源

function __destruct(){

echo "Destroying".$this->name."\n";

}

//定义方法

public function run(){

echo "Running\n";

}

public function dribblr(){

echo "Dribbling\n";

}

public function pass(){

echo "Passing\n";

}

}

//类到对象的实例化

//类的实例化为对象时使用关键字new,new之后紧跟类的名称和一对括号

$jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");

//对象中的属性成员可以通过"->"符号来访问

echo $jordan->name."\n";

//对象中的成员方法可以通过"->"符号来访问

$jordan->dribble();

$jordan->run();

//每一次用new实例化对象的时候,都会用类名后面的参数列表调用构造函数

$james = new NbaPlayer("James","203cm","120kg","Heat")

echo $james->name."\n";

//对象的引用用于访问对象的属性和方法,$james,$james1和$james2都是对象的引用

//$james和$james1是对象的两个独立引用

//$james2是$james的影子,使用对象的同一个引用,任何一个赋值为null相当于删除了同一个引用

$james1 = $james;

$james2 = &$james

$james = null;

echo "from now on James will not be used.\n"

?>

面向对象程序设计php,php面向对象的程序设计相关推荐

  1. java面向对象程序课本,Java面向对象程序设计

    出版说明 前言 第1篇 Java程序设计基础 第1章 Java语言入门 1.1 Java的诞生 1.2 Java的特点 1.3 Java程序的开发工具 1.4 Java运行环境 1.4.1 JDK的下 ...

  2. c语言是面向对象程序设计,C语言面向对象程序设计.ppt

    C语言面向对象程序设计.ppt 面向对象程序设计 C 程序设计语言主讲 陈泽琳 学时安排 上课学时 24上机学时 16 参考资料 美 H M Deitel等著 薛万鹏等译 C 程序设计教程 郑莉等编著 ...

  3. python面向对象生动讲解_Python面向对象语法精讲

    本专题的内容结构: 第一部分主要是:面向对象基础 第二部分主要是:面向对象进阶 第一部分的结构: unit1:面向对象编程模式: (1),面向对象编程思想 (2),面向对象的三个特征 (3),Pyth ...

  4. 程序设计和c语言ppt,程序设计和C语言.ppt

    <程序设计和C语言.ppt>由会员分享,可在线阅读,更多相关<程序设计和C语言.ppt(25页珍藏版)>请在装配图网上搜索. 1.2020/7/22,1,C程序设计,课程别名: ...

  5. 什么是面向对象_什么是面向对象?新手程序员必掌握的技能

    面向对象是指基于逻辑对象的概念构建的编程语言,系统或软件方法.它通过创建,利用和操纵可重用对象来执行特定任务,过程或目标. 什么是面向对象? 面向对象程序设计是种具有对象概念的程序编程典范,同时也是一 ...

  6. c语言程序设计 猜数字,C语言程序设计(猜数字游戏)报告.doc

    C语言程序设计(猜数字游戏)报告 <高级语言程序设计>课程设计 题目:班级:09R3 学生姓名:谢泽雄 学生学号:200931000622 指导老师:提交时间:华南农业大学信息(软件)学院 ...

  7. python是面向对象开发_Python之面向对象

    面向对象程序设计思路 一.面向对象之 对象分析#面向对象的核心设计:就是对象,一切围绕对象之间的交互.   OOA 0.需求分析  框定程序的功能范围 1.找到程序中涉及到的对象----------& ...

  8. 计算机程序设计语言是英文翻译,程序设计英语怎么说

    程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分.随着硬件技术的飞速发展和软件规模的日益庞大,程序的结构.可维护性.复用性.可扩展性等因素日益重要.那么你知道程序设计用英语怎么说吗 ...

  9. 猫和老鼠面向对象java语言_面向对象葵花宝典- 完整版.pdf

    构架,均衡,负载,网站,应用,net,存储系统,java,设计模式,互联网 面向对象葵花宝典 /yunhua_lee 面向对象葵花宝典 目录 第一部分:面向对象基础6 1.面向对象概述6 1.1. 程 ...

  10. 阿里云【名师课堂】Java面向对象开发2:面向对象简介

    阿里云[名师课堂]Java面向对象开发2:面向对象简介 编程语言发展阶段 编程语言发展阶段 面向机器语言:汇编语言 面向过程语言:C语言.FORTRAN等 面向对象语言:Java等 面向过程的核心是编 ...

最新文章

  1. 你以为的ASP.NET文件上传大小限制是你以为的吗
  2. 根据多个点使用canvas贝赛尔曲线画一条平滑的曲线
  3. c语言中式如何定义变量,“新中式”住宅该怎样定义?这场跨界对话给你看建发的答案...
  4. shell高级编程--引用
  5. python开发实践教程_Python开发实践教程
  6. LeetCode 908. 最小差值 I
  7. Centos7.6环境Docker安装Oracle19c企业版
  8. openGauss与PostgreSQL分区策略语法测试
  9. 译Selenium Python Bindings 6 - WebDriver API
  10. linux 如何查看进程端口号,在linux中查看进程占用的端口号
  11. 数据结构-顺序表基本操作的实现(含全部代码)
  12. 拼多多带货视频是什么?拼多多带货视频如何上传
  13. 太极发送卡片软件_超详细介绍如何利用太极+QN框架制作一个属于自己的QQxml卡片...
  14. 齐鲁工业大学计算机学院复试名单,齐鲁工业大学2019年硕士研究生拟录取名单公示...
  15. 中西方关于颜色的理解对比
  16. 这个Python脚本牛逼了,秒抢红包就算了,还能无视撤回消息
  17. 古琴入门篇|古琴指法及符号解析
  18. VBA-API:通过BEEP函数(扬声器)播放音乐
  19. 倍福--NC轴无法使能分析
  20. mac DBeaver连接mysql 驱动失败问题

热门文章

  1. 真正的程序员的工作与生活应该是这样的
  2. java中HelloWorld原来还可以这样玩
  3. 量化投资的神秘世界,聪明人玩的游戏!
  4. 读书笔记 | 自动驾驶中的雷达信号处理(第9章 汽车雷达的应用概述)
  5. 生物信息学算法之Python实现|Rosalind刷题笔记:002 中心法则:转录
  6. PreScan里动力学模型的2D和3D的区别
  7. 动态拼图怎么做?如何将多张动图拼接在一起?
  8. 一个公众号可以绑定几个小程序_微信开放平台可以绑定几个小程序和公众号?...
  9. Gitlab调优-备份及恢复
  10. Java远程屏幕监控案例