容 主要内 理解类和对象的基本概念 掌握类的基本操作 掌握类的继承性 掌握抽象类与接口 了解类的魔术方法 理解类的多态性
主要内容 ⚫ 理解类和对象的基本概念 ⚫ 掌握类的基本操作 ⚫ 掌握类的继承性 ⚫ 掌握抽象类与接口 ⚫ 了解类的魔术方法 ⚫ 理解类的多态性
面向对象是现在编程的主流技术。面向对象不同于面向过程 它用类、对象、关系、属性等一系列概念来提高编程的效率。它 主要的特性是可封装性、可继承性和多态性
⚫ 面向对象是现在编程的主流技术。面向对象不同于面向过程, 它用类、对象、关系、属性等一系列概念来提高编程的效率。它 主要的特性是可封装性、可继承性和多态性
类和对象的基本概念 1、类和对象 汽车 水果 8 8
类和对象的基本概念 ⚫ 1、类和对象 ⚫ 汽车 水果
类和对象的基本概念 1、类和对象 程序员所作的工作就是在计算机世界中创造一个虚拟的“真实世 界”,也就是先定义一个类,再由类产生一个一个“实体”,也 就是一个个“对象”。类是生成对象的模板,对象是类的一个实 例 ooP( Object-Oriented Programming)就是面向对象的缩写。 面向对象是一种编程思想。 对象在○OP中是由属性和操作来完成的。属性就是对象的特性或 与对象关联的变量。操作是对象中的方法或函数。 对于对象内部数据的访问只能通过对象的“操作”来完成。这被 称为对象的“接口
类和对象的基本概念 ⚫ 1、类和对象 ⚫ 程序员所作的工作就是在计算机世界中创造一个虚拟的“真实世 界”,也就是先定义一个类,再由类产生一个一个“实体”,也 就是一个个“对象” 。类是生成对象的模板,对象是类的一个实 例。 ⚫ OOP(Object-Oriented Programming)就是面向对象的缩写。 面向对象是一种编程思想。 ⚫ 对象在OOP中是由属性和操作来完成的。属性就是对象的特性或 与对象关联的变量。操作是对象中的方法或函数。 ⚫ 对于对象内部数据的访问只能通过对象的“操作”来完成。这被 称为对象的“接口”
类和对象的基本概念 2、面向对象编程的三大特点 (1)封装裝性 将类的使用与实现分开管理,只保留类的接口。这样开发人员只需要知道如何使 用类即可,从而提高了开发的效率。 (2)继承性 通过继承,我们可以在已有类的基础上创建新类。根据实际需要,可以从一个简 单的基类开始,派生出更复杂、更专门的类。这样,可以使代码具有更好的可重 用性。这就是面向对象的一个重要优点。 (3)多态性 同一个操作作用于不同的类的实例,将产生不同的执行结果,即不同类的对象收 到相同的消息时,得到不同的结果
类和对象的基本概念 ⚫ 2、面向对象编程的三大特点 ⚫ (1)封装性 ⚫ 将类的使用与实现分开管理,只保留类的接口。这样开发人员只需要知道如何使 用类即可,从而提高了开发的效率。 ⚫ (2)继承性 ⚫ 通过继承,我们可以在已有类的基础上创建新类。根据实际需要,可以从一个简 单的基类开始,派生出更复杂、更专门的类。这样,可以使代码具有更好的可重 用性。这就是面向对象的一个重要优点。 ⚫ (3)多态性 ⚫ 同一个操作作用于不同的类的实例,将产生不同的执行结果,即不同类的对象收 到相同的消息时,得到不同的结果
类的基本操作 1、类的声明 每个类的定义都以关键字 class开头,后面跟着类名,后面再跟一对花括号,里面包含类的属性与方法的定义。 合法类名以字母或下划线开头,后面跟着若干字母、数字或下划线。一个类可以包含有属于自己的常量、变 量(称为“属性”)以及函数(称为“方法”) 声明类的语法格式如下 class类名{ 权限修饰符属性 权限修饰符方法 权限修饰符常见的包括 public、 private和 proctected。默认情况下为 public pubi意味着类的属性和方法的各个项从类内部和外部都可以访问; private声明的属性和方法则只能从类的内部访问,也就是只有类内部的方法才可以访问用此关键词声明的属性 和方法; proctected声明的属性和方法也只能从类的内部访问,但是通过“继承”而产生的子类也是可以访问这些属性 和方法的
类的基本操作 ⚫ 1、类的声明 ⚫ 每个类的定义都以关键字class开头,后面跟着类名,后面再跟一对花括号,里面包含类的属性与方法的定义。 一个合法类名以字母或下划线开头,后面跟着若干字母、数字或下划线。一个类可以包含有属于自己的常量、变 量(称为“属性”)以及函数(称为“方法”)。 ⚫ 声明类的语法格式如下: ⚫ class 类名{ ⚫ 权限修饰符 属性 ⚫ 权限修饰符 方法 ⚫ } ⚫ 权限修饰符常见的包括public、private和proctected。默认情况下为public。 ⚫ public意味着类的属性和方法的各个项从类内部和外部都可以访问; ⚫ private声明的属性和方法则只能从类的内部访问,也就是只有类内部的方法才可以访问用此关键词声明的属性 和方法; ⚫ proctected声明的属性和方法也只能从类的内部访问,但是通过“继承”而产生的子类也是可以访问这些属性 和方法的
类的基本操作 2、类的属性和方法 使用关键字 function来定义函数,即类的方法。例如,以下是一个简单的类定义: class Demo public Sname= 'zhangsan private Sage=20; protected Ssex= male public function getName() I return $this->name: 1 public function getAgeO I return Sthis->age: l 如果在类的内部访问属性和方法,使用$this
类的基本操作 ⚫ 2、类的属性和方法 ⚫ 使用关键字function来定义函数,即类的方法。例如,以下是一个简单的类定义: ⚫ class Demo ⚫ { ⚫ public $name=‘zhangsan’; ⚫ private $age=20; ⚫ protected $sex=‘male’; ⚫ public function getName( ) ⚫ { return $this->name; } ⚫ public function getAge() ⚫ { return $this->age;} ⚫ } ⚫ 如果在类的内部访问属性和方法,使用$this
类的基本操作 例如: Sobj=new Demo /)创建a类的一个对象$obj echo Sobj->name // zhangsan echo $obj->getName0: //zhangsan echo Sobj->age /出错 echo $obj->getAgeo
类的基本操作 ⚫ 例如: ⚫ $obj=new Demo; //创建a类的一个对象$obj ⚫ echo $obj->name; //zhangsan ⚫ echo $obj->getName(); //zhangsan ⚫ echo $obj->age; //出错 ⚫ echo $obj->getAge()
类的基本操作 3、类的实例化 类是对一个事物抽象出来的结果,因此,类是抽象的。对象是某类 事物中具体的那个。因此,对象是具体。 类和对象的关系是:类是用来描述具有相同数据结构和特征的 组对象”,“类”是“对象”的抽象,而“对象”是“类”的具体 实例,即一个类中的对象具有相同的“型,但其中每个对象却具 有各不相同的“值”。 类的实例化格式: $变量名=neW类名称([参数]);
类的基本操作 ⚫ 3、类的实例化 ⚫ 类是对一个事物抽象出来的结果,因此,类是抽象的。对象是某类 事物中具体的那个。因此,对象是具体。 ⚫ 类和对象的关系是:类是用来描述具有相同数据结构和特征的“一 组对象” , “类”是“对象”的抽象,而“对象”是“类”的具体 实例,即一个类中的对象具有相同的“型”,但其中每个对象却具 有各不相同的“值” 。 ⚫ 类的实例化格式: ⚫ $变量名=new 类名称([参数]);
类的基本操作 3、类的实例化 (1)用new关键字实例化类 class Demo1 public Sname=zhangsan public function getNameO (return Sthis->name: public function getobjO I return new self Sobj=new Demo1 echo Sobj->name: echo Sobj->getName 0
类的基本操作 ⚫ 3、类的实例化 ⚫ (1) 用new关键字实例化类 ⚫ class Demo1 ⚫ { ⚫ public $name='zhangsan'; ⚫ public function getName() ⚫ {return $this->name; } ⚫ public function getObj() ⚫ { return new self(); } ⚫ } ⚫ $obj=new Demo1; ⚫ echo $obj->name; ⚫ echo $obj->getName();