面向对象的特征——封装和多态

一.封装

1.封装的定义:

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

2.封装的优点:

①信息隐蔽,封装即隐藏。
②封装的原则在软件上的反映是:
要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的“交叉感染”,
使软件错误能够局部化,大大减少查错和排错的难度。
③类的封装性带来的优点:
隐藏类的实现细节,让使用者只能通过事先定义好的方法来访问数据,可以方便的加入逻辑控制,
进行数据检查,限制对属性的不合理操作。便于修改增强代码的可维护性
例如:
计算三角形的面积函数

public function area($bottom, $height)

{

  return $bottom*$height/2;

}

4.在PHP中通过以下三种方法来完成:

private:声明私有的

protected:声明需要权限的

public:声明公共的

二.多态

对象的多态性是指在父类中定义的属性或行为被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或行为在父类及其各个子类中具有不同的语义。
多态这个概念,在 Java 中指的是变量可以指向的对象的类型,可是变量声明类型的子类。对象一旦创建,它的类型是不变的,多态的是变量。
 PHP5 中,变量的类型是不确定的,一个变量可以指向任何类型的数值、字符串、对象、资源等。我们无法说 PHP5 中多态的是变量。
我们只能说在 PHP5 中,多态应用在方法参数的类型提示位置。
一个类的任何子类对象都可以满足以当前类型作为类型提示的类型要求。
所有实现这个接口的类,都可以满足以接口类型作为类型提示的方法参数要求。
简单的说,一个类拥有其父类、和已实现接口的身份。
1.抽象的特征和作用:

①可以使用 abstract 来修饰一个类或者方法。
②用 abstract 修饰的类表示这个类是一个抽象类, 用 abstract 修饰的方法表示这个方法是一个抽象方法。
③抽象类不能被实例化。
④抽象方法是只有方法声明,而没有方法的实现内容。
⑤可以使用 abstract 来修饰一个类。
⑥用 abstract 修饰的类表示这个类是一个抽象类。
⑦抽象类不能被实例化。
⑧用 abstract 修饰的类表示这个方法是一个抽象方法。
⑨抽象方法,只有方法的声明部分,没有方法体。
⑩抽象方法没有 {} ,而采用 ; 结束。一个类中, 只要有一个抽象方法, 这个类必须被声明为抽象类。抽象方法在子类中必须被重写。
2.接口的特征和作用:

①接口(interface)是抽象方法和静态常量定义的集合。
②接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量。
③接口中没有其它类型的内容
例如:

interface 接口名

{
  public getName();
  public setName($name);

}

注意:

在接口中的抽象方法只能是 public 的,默认也是 public 权限。并且不能设置成 private 或者 protected 类型

时间: 2024-10-18 18:31:53

面向对象的特征——封装和多态的相关文章

类与对象 面向对象和面向过程对比 面向对象三大特征:封装 继承 多态

 初识面向对象 面向过程: 一切以事务的发展流程为中心. 面向对象: 一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 打比方: 大象进冰箱 步骤: 第一步, 开门, 第二步, 装大象, 第三步, 关门 面向对象:大象, 你进冰箱. 此时主语是大象. 我操纵的是大象. 此时的大象就是对象 1. 面向过程: 一切以事物的流程为核心. 核心是"过程"二字, 过程是指解决问题的步骤, 即, 先?干什么, 后干什么. 基于该思想编写程序就好比在编写一套流水线. 是一种机械 式的编程

面向对象三大特征——封装、多态、接口

一.封装 1.封装的概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作与访问.混那个通过规定方法访问数据 2.封装的好处: 1).只能通过规定方法访问数据: 2).隐藏类的实现细节: 3).方便修改实现: 4).方便加入控制语句. 3.封装的步骤: 1).修改属性的可见性.--设为private; 2).创建爱你共有的getter/setter方法.--用于属性的读写; 3).在getter/setter方法中加入属性控制语句.--对属性值的合

(1) 深入理解Java面向对象三大特性 封装 继承 多态

转眼已经工作快6年了,最开始做了2年J2EE:然后整了2年的数据仓库,主要是Cognos的报表开发:现在从事4G LTE核心网的开发,用的语言任然是Java,但写代码的机会不多,基本都是看代码找BUG,偶尔做点new feature也是在比较成熟的框架上复制.粘贴.修改,大部分时间还是在理解业务,钱多.事少.离家近,当时来这家公司图的是后面2点,2年过去了,英文水平有所提升,对敏捷开放也有一定的了解,但技术方面明显退步了或者说没有进步吧,本来以前也不怎么好,因为工作上用不到,自己也没怎么学习,所

c++面向对象三大特征封装、继承和多态知识总结

面向对象三大特征:封装,继承,多态: 一.封装:该公开的就公开话,该私有的就隐藏掉,主要是由public,private实现:作用是便于分工和分模块,防止不必要的扩展: 二.继承:就是一种传承,可以把父类型中的数据传承到子类中,子类除了传承了父类的数据之外,还可以对父类型进行扩展: 公开继承  public 保护继承  protected 私有继承  private 保护成员:在子类和本类中可以访问,其他不行: 1.公开继承:在公开继承下,父类型中的数据是公开的到子类型中权限是公开的:父类型中保

面向对象三大特征------封装、继承、多态

首先,为什么要面向对象程序设计? 1.开发时间短,效率高,可靠性高,所开发的程序更强壮.由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间. 2.应用程序更易于维护.更新和升级.继承和封装使得应用程序的修改带来的影响更加局部化. 三大特性之封装 封装: 封装是面向对象的特征之一,是对象和类概念的主要特性.封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保

(一)Python入门-6面向对象编程:07面向对象三大特征(封装、继承、多态)-继承

一:面向对象三大特征介绍 Python是面向对象的语言,也支持面向对象编程的三大特性:继承.封装(隐藏).多态. 封装(隐藏) 隐藏对象的属性和实现细节,只对外提供必要的方法.相当于将“细节封装起来”,只 对外暴露“相关调用方法”. 通过前面学习的“私有属性.私有方法”的方式,实现“封装”.Python 追求简洁的语法,没有严格的语法级别的“访问控制符”,更多的是依靠程序员自觉实现. 继承 继承可以让子类具有父类的特性,提高了代码的重用性. 从设计上是一种增量进化,原有父类设计不变的情况下,可以

JAVA的三大特征 封装继承多态- 简单总结

简单总结一下 封装-即从很多类的抽取相同的代码 写在一个类里. 好处是 代码的重用,安全. 继承-减少代码的书写. 其好处也是 代码的重用. 多态- 把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化. 总的来说还是接口的重用. 那么总结一下,JAVA的三大特征 其好处 就是代码与接口的重用. 封装可以隐藏实现细节,使得代码模块化: 继承可以扩展已存在的代码模块(类): 它们的目的都是为了——代码重用. 而多态则是为了实现另一个目

面向对象三大特性(封装/继承/多态)

引入:在面向对象思想中,有三大特性,封装  继承  多态. 思考:我们在使用类和对象实现编程的时候,到底是遵循这什么样的逻辑呢?为什么要这样规范类呢? 引入:面向对象很重要的思想就是隐藏,即外部不知道类内部是如何实现业务逻辑的,只管调用和使用结果,这个就是面向对象三大特性之一:  封装 1.封装[掌握] 定义:封装,字面意思就是将内容装到某个容器中,并进行密封保存,在面向对象思想中,封装指数据和对数据的操作捆绑到一起,形成 对外界的隐藏,同时对外提供可以操作的接口. 1.数据:即要操作的数据,在

面向对象的三个基本特征 封装 继承 多态

一.封装: 封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型.  封装的意义: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏.在面向对象程序设计中数据被看作是一个中心的元素并且和使用它的函数结合的很密切,从而保护它不被其它的函数意外的修改. 封装提供了一个有效的途径来保护数据不被意外的破坏.相比我们将数据(用域来实现)在程序中定义为公用的(public)我们将它们(fields)定义为私有的(privat