认识面向对象-PHP8知识详解

    时间: 浏览:255次  原文出处:PHP服务网
导读:面向对象编程,也叫面向对象程序设计,是在面向过程程序设计的基础上发展而来的,它比面向过程编程具有更强的灵活性和扩展性。 它用类、对象、关系、属性等一系列东西来提高编程的效率,其主要的特性是可封装性、可继承性和多态性。

面向对象编程,也叫面向对象程序设计,是在面向过程程序设计的基础上发展而来的,它比面向过程编程具有更强的灵活性和扩展性。

它用类、对象、关系属性等一系列东西来提高编程的效率,其主要的特性是可封装性、可继承性和多态性。

面向对象编程的主要好处就是吧编程的重心从处理过程转移到对现实世界实体的表达。这十分符合人们的正常思维方法


1、什么是类?

将具有相同属性及相同行为的一组对象称为类(class)。

广义地讲,具有共同性质的事物的集合称为类。在面向对象程序设计中,类是一个独立的单位,它有一个类名,其内部包括成员变量成员方法,分别用于描述对象的属性和行为。

类是一个抽象的概念,要利用类的方式来解决问题,必须先用类创建一个实例化的对象,然后通过对象访问类的成员变量及调用类的成员方法,来实现程序的功能。就如同“手机”本身是一个抽象的概念,只有使用了一个具体的手机,才能感受到手机的功能。

类(class)是由使用封装的数据及操作这些数据的接口函数组成的一群对象的集合。类可以说是创建对象时所使用的模板

2、什么是对象?

对象(object)是面向对象技术的核心。可以把我们生活的真实世界看成是由许多大小不同的对象所组成。对象是指现实世界中的对象在计算机中的抽象表示,即仿照现实对象而建立的。例如,人和手机可以看成两个不同的对象。

对象是类的实例化。对象有静态特征和动态特征。静态特征指对象的外观、性质、属性等,动态特征指对象具有的功能、行为等。客观事物是错综复杂的,人们总是习惯从某一目的出发,运用抽象分析的能力从众多特征中抽取具有代表性、能反映对象本质的若干特征加以详细研究。

人们将对象的静态特征抽象为属性,用数据来描述,在 PHP 语言中称为变量。将对象的动态特征抽象为行为,用一组代码来表示,完成对数据的操作,在PHP语言中称为方法(method)。一个对象由一组属性和一系列对属性进行操作的方法构成。

3、面向对象中的对象是什么?

面向对象的对象(Object),通常是指客观世界中的真实存在的事物,实物,实象。每一个对象都具有唯一性,都有自己的运动规律和运动状态。对象之间相互联系相互作用。另外,对象也可以是一个抽象的事物。

通常情况下,我们把对象分为两个部分:静态部分和动态部分。其中静态部分我们称为“属性”,任何的对象都有自己的属性,是客观存在的,如人的性别高矮胖瘦等属性;动态部分是指对象的行为,如人的走路,吃饭,睡觉等可以执行的动作行为。

如,把人比做人类,那么人类就有了头,颈,躯干,四肢等属性,吃饭,睡觉,走路,码字等行为,而一个正在码字的程序员被视为人类的一个对象,人类和人类对象的关系示意图如下:

在计算机语言中也存在对象,可以定义为相关变量和方法的软件集。对象主要由下面两部分组成。

(1)一组包含各种类型数据的属性。

(2)对属性中的数据进行操作的相关方法。面向对象中常用的技术术语及其含义如下。

A、类(Class):用来描述具有相同属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

B、类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

C、数据成员:类变量或实例变量用于处理类及其实例对象的相关数据。

D、方法重写:如果从父类继承的方法不能满足子类的需求,那么可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。

E、实例变量:定义在方法中的变量只作用于当前实例的类。

F、继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。

G、实例化:创建一个类的实例,即类的具体对象。(8)方法:类中定义的函数。

H、对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

4、面向对象编程的特点

OOP 是面向对象编程(Object-Oriented Programming)的缩写。对象(Object)在OOP 中是由属性和操作组成的。属性(Attribute)是对象的特性或是与对象关联的变量。操作(Operation)是对象中的方法(Method)或函数(Function)。

由于OOP中最为重要的特性之一就是可封装性,所以对 Object 内部数据的访问,只能通过对象的“操作”来完成,这也被称为对象的“接口”(interfaces)。

因为类是对象的模板,所以类描述了对象的属性和方法。另外,面向对象编程具有3大特点。

1.封装性

将类的使用和实现分开管理,只保留类的接口,这样开发人员就不用知道类的实现过程,只需要知道如何使用类即可,从而提高了开发效率。

2.继承性

继承是面向对象软件技术中的一个概念。如果一个类A继承自另一个类B,就把这个 A称为“B的子类”,而把B称为“A的父类”。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,从而获得与父类不同的功能。另外,还可以为子类追加新的属性和方法。继承可以实现代码的可重用性,简化了对象和类的创建过程。另外,PHP支持单继承,也就是一个子类只能有一个父类。

3、多态性

多态是面向对象程序设计的主要特征之一,是扩展性在继承之后的又一重大表现。

同一操作作用于不同类的实例,将产生不同的执行效果,即不同类的对象收到相同的消息时,将得到不同的结果。

本文地址:https://www.olzz.com/renshimianxiangduixiang.html
码字不易,打个赏呗
杨泽业感谢你的支持!

猜你喜欢

面向对象编程的几个问题总结-PHP8知识详解

导读:面向对象编程的几个问题总结:1、类和对象的关系?2、方法与函数的区别?3、静态变量越多越好吗?4、抽象类和类有何不同?

2023-10-07  分类:PHP学堂  浏览:299次


在PHP8中使用instanceof操作符检测对象类型-PHP8知识详解

导读:继承特性简化了对象、类的创建,增加了代码的可重用性。但是PHP只支持单继承,如果想实现多继承,就需要使用接口。PHP可以实现多个接口。

2023-10-04  分类:PHP学堂  浏览:274次


PHP8的类与对象的基本操作之类常量-PHP8知识详解

导读:PHP 8引入了一种新的特性,称为类常量(Class Constants)。类常量是在类中定义的常量,类似于全局常量,但作用域仅限于定义它们的类。 在PHP 8中,类常量的作用域被限制在定义它们的类中。这意味着只有类的成员方法或静态方法才能访问类常量。在其他上下文中,如类的实例方法或全局范围内,类常量将不可见。

2023-09-21  分类:PHP学堂  浏览:234次


PHP8的类与对象的基本操作之成员变量-PHP8知识详解

导读:成员变量是指在类中定义的变量。在类中可以声明多个变量,所以对象中可以存在多个成员变量,每个变量将存储不同的对象属性信息。

2023-09-21  分类:PHP学堂  浏览:305次


PHP8的类与对象的基本操作之类的实例化-PHP8知识详解

导读:定义完类和方法后,并不是真正创建一个对象。类和对象可以描述为如下关系。类用来描述具有相同数据结构和特征的“一组对象”,“类”是“对象”的抽象,而“对象”是“类”的具体实例,即一个类中的对象具有相同的“型”,但其中每个对象却具有各不相同的“值”。

2023-09-21  分类:PHP学堂  浏览:295次


PHP8的类与对象的基本操作之成员方法-PHP8知识详解

导读:成员方法是指在类中声明的函数。在类中可以声明多个函数,所以对象中可以存在多个成员方法。类的成员方法可以通过关键字进行修饰,从而控制成员方法的商用权限。

2023-09-18  分类:PHP学堂  浏览:282次


PHP8的类与对象的基本操作之定义类-PHP8知识详解

导读:在PHP8中,定义类的关键字是class,定义类的语法格式如下: 其中,修饰符是可选项,常见的修饰符包括public、private和protected。

2023-09-18  分类:PHP学堂  浏览:300次


认识面向对象-PHP8知识详解

导读:面向对象编程,也叫面向对象程序设计,是在面向过程程序设计的基础上发展而来的,它比面向过程编程具有更强的灵活性和扩展性。 它用类、对象、关系、属性等一系列东西来提高编程的效率,其主要的特性是可封装性、可继承性和多态性。

2023-09-16  分类:PHP学堂  浏览:256次


站长在线Python教程:python中面向对象相关概述详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《python中面向对象相关概述详解》。本文的主要内容有:面向对象是什么、面向对象中的对象是什么、Python中的类是什么、面向对象编程的特点有哪些?

2022-02-14  分类:Python学堂  浏览:1130次