面向对象之封装和继承

胡智杰 胡智杰     2022-09-08     593

关键词:


面向对象的三大特征:封装、继承、多态。

面向对象编程之封装:

  封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节

有一个最大的优点:信息隐蔽,封装即隐藏。

PHP 中通过将数据封装、声明为私有的(private),再提供一个或多个公开的( public)方法实现对该属性的操作,以实现下述目的:

  隐藏一个类的实现细节;

  防止对封装数据的未经授权的访问。使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;

  有利于保证数据的完整性;

  便于修改,增强代码的可维护性;

面向对象编程之继承:

  是指一个对象直接使用另一对象的属性和方法。

继承是面向对象最重要的特点之一,就是可以实现对类的复用。 通过“继承”一个现有的类,可以使用已经定义的类中的方法和属性。 继承而产生的类叫做子类。 被继承的类,叫做父类,也被成为超类。

PHP 是单继承的(PHP和JAVA是单继承,有且只有一个父类,C++是多继承),一个类只可以继承一个父类,但一个父类却可以被多个子类所继承。 从子类的角度看,它“ 继承( inherit , extends) ”自父类;而从父类的角度看,它“派生( derive) ”子类。它们指的都是同一个动作,只是角度不同而已。 子类不能继承父类的私有属性和私有方法。 在 PHP5 中类的方法可以被继承,类的构造函数也能被继承。

面向对象编程之访问控制:

  在 PHP5 中,可以在类的属性和方法前面加上一个修饰符( modifier),来对类进行一些访问上的控制。

面向对象编程之重写:

  如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖( override),也称为方法的重写。 当对父类的方法进行重写时,子类中的方法必须和父类中对应的方法具有相同的方法名称, 在 PHP5 中不限制输入参数类型、参数数量和返回值类型。(这点和 JAVA 不同) 子类中的覆盖方法不能使用比父类中被覆盖方法更严格的访问权限。


面向对象编程——this:

  PHP5 中为解决变量的命名冲突和不确定性问题,引入关键字“$this”代表其所在当前对象。 $this 在构造函数中指该构造函数所创建的新对象 在类中使用当前对象的属性和方法,必须使用$this->取值。 方法内的局部变量,不属于对象,不使用$this 关键字取值。

面向对象编程——parent:

PHP5 中使用 parent::来引用父类的方法。
 parent:: 可用于调用父类中定义的成员方法。
 parent::的追溯不仅于直接父类。

以上就是部分的面向对象的内容

浅谈面向对象之封装继承多态!如何使用内部类模拟多继承

【属性的封装】(1.)将属性进行私有化处理,不允许外部程序进行直接访问,并对外提供统一的方法,用于设置和读取私有属性;(2.)实现访问控制,限制属性访问,但不是拒绝访问。作用:只能通过规定的方法访问数据,... 查看详情

面向对象语言的特点:封装,继承,多态之封装

 1.封装的概念 广义定义:类和方法本身就是封装的体现 狭义定义:一个类的某些属性,如果不希望外界直接访问,就可以将这个属性作为私有的【只有当前类持有】,然后暴露给外界一个访问的方法 封装的本质:属性私有... 查看详情

面向对象三大特征之多态(代码片段)

面向对象的三大特征:封装、继承、多态。今天重点来看一下“多态”。封装  指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。将属性或方法进行封装,防止外部程序随机访问,加强代码的安全性。继承&n... 查看详情

面向对象之封装,继承,多态的理解

封装1.什么是封装  封装(encapsulation)又叫隐藏实现(Hidingtheimplementation)。就是只公开代码单元的对外接口,而隐藏其具体实现。  其实生活中处处都是封装,手机,电脑,电视这些都是封装。你只需要知道如何去操作他们,并... 查看详情

测开之面向对象进阶篇・《多态》(代码片段)

面向对象三大特征面向对象编辑的三大特征:封装、继承、多态。封装:客观的失误封装成类(将数据和方法放在一个类中构成了封装)。继承:python中一个类可以继承于一个类,也可以继承多个类,... 查看详情

面向对象之:封装,多态

python面向对象的三大特性:继承,封装,多态。1.封装: 把很多数据封装到一个对象中.把固定功能的代码封装到一个代码块,函数,对象,打包成模块.这都属于封装的思想.具体的情况具体分析.比如.你写了一个很牛B的函数.那这... 查看详情

18-面向对象之基础

...方法,继承,反射 -------------------------------------------面向过程:根据业务逻辑从上到下写垒代码函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可面向对象:对函数进行分类和封装,让开发“更快... 查看详情

java面向对象三大特征之继承和多态(代码片段)

...转型多态代码案例总结前言  上一篇博客我们介绍了Java面向对象思想以及三大特征之一的封装。本文将介绍面向对象三大特征的剩下两个特征——继承和多态,我个人认为继承和多态是三个特征中比较重要且理解起来稍有... 查看详情

学习日记之备忘录模式和继承面向对象设计

备忘录模式(Memento):在不破坏封装性的前提下。捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。(1),把要保存的细节给封装在Memento中,那一天要更改保存的细节也不... 查看详情

day32--面向对象的程序设计之继承实现的原理(继承顺序)封装property

Python之路,Day19= 面向对象的程序设计之继承实现的原理(继承顺序)、封装、property 以下类容参考自:http://www.cnblogs.com/metianzing/p/7121947.html 抽象类补充:1importabc2classParent(metaclass=abc.ABCMeta):3x=14@abc.abstractclassm 查看详情

python--面向对象之三个特性:封装继承多态(代码片段)

一、面向对象简介1、面向对象不是所有的情况都适用2、面向对象编程   a.定义类     class类名:       def方法1(self,参数名):         方法体   b.根据类创建对象,使用对象去执行类中的方法   ... 查看详情

面试总结之谈谈你对面向对象的理解

对面向对象的理解在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象的编程是以对象为中... 查看详情

重修课程day22(面向对象三之继承和派生)

面向对象的三大特性:封装,继承和多态一继承 1什么是继承:1.1什么是什么的关系。一个类是另一个类的子类。        1.2继承是一种创新类的方式。新建的类可以继承一个或多个父类。父类又称为基类或超类,新... 查看详情

js常见知识点3.面向对象之继承设计模式

一、面向对象的三大特征  建议回复:   封装:屏蔽内部细节、调用外部接口实现对应功能(函数调用)  继承:子类继承父类中的属性和方法  多态(js中不存在多态的概念)二、继承  建议回复:    继承:... 查看详情

java面向对象编程之继承

前言Java语言有三大重要的特性,分别是继承、多态和封装。今天我们就来聊聊继承,继承是复用程序代码的有力手段,使用继承我们会少写许多代码,也可以让我们在写代码的时候逻辑变得更加清楚。继承的基本语法在Java语言... 查看详情

java入门之面向对象-划重点

目录Java入门(七)之面向对象-划重点0.面向对象的概念0.1面向对象和面向过程0.2属性和方法1.面向对象的特征1.1对象唯一1.2抽象性1.3三大特性——继承、封装、多态2.继承相关2.1抽象类2.2接口3.多态相关3.1构造方法课后习题角色... 查看详情

golang如何体现面向对象三大特征之封装?(代码片段)

...的好处golang如何体现封装封装的实现基本介绍Golang仍然有面向对象编程的继承、封装和多态的特性,只是实现的方法和其它OOP语言不一样,下面我们来看看Golang是如何实现封装的。封装介绍封装(encapsulation)就是... 查看详情

面向对象之封装

---恢复内容开始---面向对象之封装前言:在我们学习C#的过程中,尤其在学习面向对象的过程中,我们会依次的接触到面对对象的三大特征:封装继承多态。接下来我们会依次的进行分析,我们先来讲解封装。在我们面向对象之前... 查看详情