目录
1、封装:将对象的属性和行为封装起来,将对象的属性和行为封装起来的载体就是类
2、继承:继承性是子类自动共享父类数据结构和方法的机制,是类之间的一种关系;当处理一个问题时,可以将一些有用的类保留下来,这些类通常有相同的属性甚至相同的方法,当遇到同样的问题时可以拿来复用。
3、多态:将父类对象应用于子类的特征就是多态。子类继承了父类的特点,同时子类又有自己的特点即是多态,多态指的是一个类的实例(对象)可以表现出多种形态。
public:公共的,在类的内部、子类中 或者类的外部都可以使用,不受限制;
protected:受保护的,在类的内部、子类中可以使用,但不能在类的外部使用;
private:私有的,只能在类的内部使用,在类的外部或者子类中无法使用。
一、面向过程和面向对象
1.面向过程:面向过程是一种以“整体事件”为中心的编程思想,编程的时候把解决问题的步骤分析处理,然后用函数把这些步骤实现,再一步步的具体步骤中再按顺序调用函数。
2.面向对象:面向对象是一种以“对象”为中心的编程思想,把要解决的问题分解成各个“对象”,靠对象之间的交互完成;
对象:是一个由信息及对信息进行处理的描述所组成的整体。
二、类的定义
类定义了一件事的特点,将数据的形式以及这些数据上的操作封装在一起;
对象是具有类类型的变量,是对类的实例;
类是想法,把类实例化,调用具体值后就变成对象
class className
{
//类体:由成员函数(方法)和成员变量(属性)组成
//成员变量声明
//成员函数声明
}
class为定义类的关键字,classname为类的名字,{}中为类的主体
类体中的内容为类的成员;
类中的变量称为成员变量(属性):定义再类内部的变量,该变量的值对外是不可见的,但是可以通过成员函数访问,在类被实例化为对象后,该变量即可成为对象的属性;
类中的函数称为成员函数(方法):定义在类的内部,可用于访问对象的数据。
三、面向对象编程三大特征:封装、继承、多态
1、封装:将对象的属性和行为封装起来,将对象的属性和行为封装起来的载体就是类
2、继承:继承性是子类自动共享父类数据结构和方法的机制,是类之间的一种关系;当处理一个问题时,可以将一些有用的类保留下来,这些类通常有相同的属性甚至相同的方法,当遇到同样的问题时可以拿来复用。
父类:一个类被其它类继承,可将该类成为父类;
子类:一个类继承其他类称为子类(派生类);
3、多态:将父类对象应用于子类的特征就是多态。子类继承了父类的特点,同时子类又有自己的特点即是多态,多态指的是一个类的实例(对象)可以表现出多种形态。
四、类的内容
1、预定义
class person
{
var $name; //声明成员变量,var是一种修饰符
var $sexl;
function state($var1) //声明成员函数(方法)
{
echo $this->name; //使用预定义$this调用成员变量
echo $var1; //成员函数传参$var1可直接调用
}
}
2、实例化和赋值
<?php
class person
{
var $name; //声明成员变量,var是一种修饰符
var $sexl;
function state($var1) //声明成员函数(方法)
{
echo $this->name; //使用预定义$this调用成员变量
echo $var1; //成员函数传参$var1可直接调用
}
}
$lin = new person(); //实例化类person()为对象lin
$lin->name = '麟'; //参数赋值
$lin->sex = '男';
print_r($lin); //打印对象
?>
----------------------------------------------------------
person Object
(
[name] => 麟
[sex] => 男
)
<?php
class person
{
var $name; //声明成员变量,var是一种修饰符
var $sexl;
function state($var1) //声明成员函数(方法)
{
echo $this->name; //使用预定义$this调用成员变量
echo '正在'.$var1; //成员函数传参$var1可直接调用
}
}
$lin = new person(); //实例化类person()为对象lin
$lin->name = '麟'; //参数赋值
//$lin->sex = '男';
$lin->state($var1:'睡觉'); //调用函数
?>
----------------------------------------------------------
麟正在睡觉
3、类的访问权限修饰符
public:公共的,在类的内部、子类中 或者类的外部都可以使用,不受限制;
protected:受保护的,在类的内部、子类中可以使用,但不能在类的外部使用;
private:私有的,只能在类的内部使用,在类的外部或者子类中无法使用。
- 外部
<?php
class person
{
public $name = '麟';
private $sex = '男';
protected $high = '180';
function state($var1)
{
echo $this->name; //使用预定义$this调用成员变量
echo $var1; //成员函数传参$var1可直接调用
}
}
$lin = new person(); //实例化类person()为对象lin
echo $lin->name."<br />"; //外部可用
echo $lin->sex."<br />"; //外部不可用
echo $lin->high."<br />"; //外部不可用
?>
----------------------------------------------------------
麟
- 子类
<?php
class person //父类
{
public $name = '麟';
private $sex = '男';
protected $high = '180';
function state($var1)
{
echo $this->name; //使用预定义$this调用成员变量
echo $var1; //成员函数传参$var1可直接调用
}
}
class person2 extends person //子类
{
fuction test()
{
echo $this->name."<br />"; //public子类可用
echo $this->sex."<br />"; //private子类不可用
echo $this->high."<br />"; //protected子类可用
}
}
$lin = new person(); //实例化类person()为对象lin
$lin2 = new person2();
echo $lin->name."<br />"; //外部可用
echo $lin->test();
?>
----------------------------------------------------------
麟 //lin
麟 //lin2
180