美文网首页
面向对象基础信息

面向对象基础信息

作者: HK_KIKY | 来源:发表于2020-01-30 12:20 被阅读0次

一、类与实例

对象:是一个自包含的实体,用一组可识别的特性和行为来标识。

类:就是具有相同的属性和功能的对象的抽象的集合。

实例:就是一个真实的对象。

实例化:就是创建对象的过程,使用new关键字来创建。

二、构造方法

构造函数,其实就是对类进行初始化。构造方法与类同名,无返回值,在new的时候调用。

所有的类都由构造函数,如果不编写则系统默认生成空的构造方法,若有定义的构造方法,则默认的构造方法就会失效。

三、方法重载

方法重载是指在一个类中可以定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。

四、属性与修饰符

属性:类的变量成员叫做“属性”,或者叫“字段”、“特征”,在本文档统一称为“属性”。

属性声明是由关键字 public,protected 或者 private 开头,然后跟一个普通的变量声明来组成。

属性中的变量可以初始化,但是初始化的值必须是常数,这里的常数是指 PHP 脚本在编译阶段时就可以得到其值,而不依赖于运行时的信息才能求值。

public:共有的,表示它所修饰的类成员可以允许其他类来访问。

private:私有的,表示只允许同一个类的成员访问,其他类包括它的子类无法访问。

protected:表示只允许该类及其子类的成员访问,其他无关的类无法访问。

五、类的三大属性

(一)封装

每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。

优点:

1、良好的封装能够减少耦合;

2、类内部的实现可以自由的修改;

3、类具有清晰的对外接口。

(二)继承

继承定义了类如何关联,共享特性。继承的工作方式是,定义父类和子类,或叫做基类和派生类,其中子类继承父类的所有特性,此外,子类还可以定义新的特性。

1、子类拥有父类非private的属性和功能;

2、子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能;

3、 子类还可以以自己的方式实现父类的功能(方法重写);

缺点:

1、父类变,子类不得不变;

2、继承会破坏包装,父类实现细节暴露给子类,增大了两个类的耦合性。

(三)多态

多态表示不同的对象可以执行相同的动作,但要通过它们自己的实现代码来执行。

同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。

1、 子类继承父类;

2、子类重写父类的方法;

3、父类引用指向子类对象;

六、重构

重构(Refactoring)就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

七、抽象类

1、 抽象类不能实例化;

2、抽象方法是必须被子类重写的方法;

3、如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否还包含其他一般方法。

八、接口

接口是把隐式公共方法和属性组合起来,以封装特定功能的一个集合。一旦类实现了接口,类就可以支持接口所指定的所有属性和成员。声明接口在语法上和声明抽象类完全相同,但不允许提供接口中任何成员的执行方式。实现接口的类就必须实现接口中的所有方法和属性。

一个类可以支持多个接口,多个类也可以支持相同的接口。

接口用interface声明,接口中的方法和属性前面不能有修饰符、方法没有方法体。

九、抽象类和接口的区别

1、 类是对对象的抽象,抽象类是对类的抽象;接口是对行为的抽象。

2、如果行为跨越不同类的对象,可使用接口;对于一些相似的类对象,用继承抽象类。

3、从设计角度讲,抽象类是从子类中发现公共的东西,泛化出父类,然后子类继承父类,而接口是根本不知子类的存在,方法如何实现还不确认,预先定义。

https://www.php.net/manual/zh/language.oop5.php

相关文章

  • 面向对象基础信息

    一、类与实例 对象:是一个自包含的实体,用一组可识别的特性和行为来标识。 类:就是具有相同的属性和功能的对象的抽象...

  • 15 初识面向对象[python基础]

    什么是面向对象? //任何事物都可以看作是对象 //15 初识面向对象[python基础]关注事物对象的信息,对一...

  • java SE目录

    java SE目录 java基础(一)java基础(二)关键字面向对象(一)面向对象(二)面向对象(三)集合(一)...

  • Java基础03面向对象

    Java 基础02Java编程基础 面向对象上 面向对象的概述 面向对象的概述:面向对象是一种符号人类思维习惯的编...

  • python面向对象学习笔记-01

    学习笔记 # 0,OOP-Python面向对象 - Python的面向对象 - 面向对象编程 - 基础 -...

  • java基础回顾(2)

    面向对象:是基于面向过程的一种思想。 面向过程:以函数为基础,关注实现过程。 面向对象:以对象为基础,关注实现结果...

  • 面向对象

    title:面向对象tags: 基础,Java 面向对象 面向对象程序设计简介 面向对象的基本思想是使用类、对象、...

  • "类"的讲稿

    -----------------------面向对象基础----------------------------...

  • Java 工程师成神之路 | 2019正式版

    摘要:什么是面向对象 基础篇 01面向对象 → 什么是面向对象 面向对象、面向过程 面向对象的三大基本特征和五大基...

  • 2、面向对象

    一、面向对象 定义:面向对象是基于面向过程的。 面向对象与面向过程比较:面向过程:面向过程是以函数为基础,完成各种...

网友评论

      本文标题:面向对象基础信息

      本文链接:https://www.haomeiwen.com/subject/qmxbthtx.html