面向对象之封装和继承

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

面向对象编程之封装:

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

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

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::的追溯不仅于直接父类。

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

时间: 2024-10-21 15:09:23

面向对象之封装和继承的相关文章

2、C#面向对象:封装、继承、多态、String、集合、文件(上)

面向对象封装 一.面向对象概念 面向过程:面向的是完成一件事情的过程,强调的是完成这件事情的动作. 面向对象:找个对象帮你完成这件事情. 二.面向对象封装 把方法进行封装,隐藏实现细节,外部直接调用. 打包,便于管理,为了解决大型项目的维护与管理. 三.什么是类? 将相同的属性和相同方法的对象进行封装,抽象出 “类”,用来确定对象具有的属性和方法. 类.对象关系:人是类,张三是人类的对象. 类是抽象的,对象是具体的.对象可以叫做类的实例,类是不站内存的,对象才占内存. 字段是类的状态,方法是类执

面向对象之封装,继承

面向对象的主要特征为封装,继承和多肽. 封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节.优点是信息隐蔽,封装即隐藏.它要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度. 继承是面向对象最重要的特点之一,就是可以实现对类的复用. 通过"继承"一个现有的类,可以使用已经定义的类中的方法和属性. 继承而产生的类叫做子类. 被继承的类,叫做父类,

Java学习记录(补充三:面向对象的封装和继承)

面向对象的封装package day7; //面向对象的封装 public class Employee { String name = "zhangsan"; private int age; //多个方法重载 public Employee(){ } public Employee(String name,int age){ } public Employee(int age,String name){ } //可以在方法里修改不能访问的属性 public int getAge()

oc面向对象-封装,继承,多态的用法

面向对象的三大特征 — 封装 (Encapsulation) — 继承 (Inheritance) — 多态 (Polymorphism) 一,封装 1.信息隐藏,隐藏对象的实现细节,不让用户看到. 2.将东西包装在一起,然后以新的完整形式呈现出来. 3.对象同时具有属性和方法两项特性,对象的属性和方法通常被封装在一起,共同体现事物的特性,,二者相辅相承,不能分割 . 4.OC中也有四种访问权限修饰符:@public.@protected.@private.@package. private:私

反射,面向对象(封装,继承,多态)知识整理

一.反射 定义:根据字符串形式去对象中操作成员 getattr :根据字符串的形式去模块中寻找东西 hasattr:根据字符串的形式判断模块中每个东西是否存在,有就返回Ture,没有就返回False setattr:主要是起设置作用(具有创建的全局变量或者函数的作用) delattr:删除模块中的某个东西 扩展:(以字符串的形式导入模块):注释:这个不属于反射的内容 _import_(“导入模块的名字”) 二.面向对象 1.概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到

python面向对象编程 -- 封装、继承(python3.5)

面向对象编程三要素:封装.继承和多态.本文主要看和封装.继承相关的概念:在python中多态的概念比较模糊,本文不做讨论. 1 封装 封装:将数据和操作组装到一起,对外只暴露一些接口供类外部或子类访问,隐藏数据和操作的实现细节. 在其他面向对象语言,比如java中,属性访问控制一般有三种状态:private.protectd.public.python中没有什么东西是完全不可见的,没有任何机制可以强制性的隐藏数据.所以在python中不存在真正的只能在对象内部访问的属性.一个被大多数的pytho

面向对象的封装、继承、多态以及构造函数

1.面向对象特点:封装.继承.多态.2.构造函数 = 构造器 + 原型对象;(1)父类function UserClass(name,age,word){ //构造器 constructor this.name=name; this.age =age; this.word =word; this.init =function(){ return `${this.name} ----init初始化`; }}UserClass.prototype={ //原型对象 prototype 只能实例化之后

面向对象的封装、继承、多态

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

c#面向对象基础 封装、继承

一.封装 这是一种隐藏的特性.可以用一个公式来展示类的封装特性: 封装的类=数据  +  对此数据进行的操作(即算法) 通俗的说,封装就是:包起外界不必要知道的东西,只向外界展露可供展示的东西. 在面向对象理论中,封装这个概念拥有更为宽广的含义.小到一个简单的数据结构,大到一个完成的软件子系统,静态的如某个软件系统要收集数据信息项,动态的如某个工作处理的流程,都可以封装到一个类中. 具备这种封装的意识,是掌握面向对象分析与设计技巧的关键. 二.继承: 继承是面向对象编程最重要的特性之—.任何类都