php面向对象基本概念、类与对象

本文详细介绍了面向对象编程的概念,包括类的定义、封装、继承和多态等核心特征,以及类的内容如预定义、实例化和访问权限的使用。通过实例代码展示了如何在PHP中创建和操作类对象。
摘要由CSDN通过智能技术生成

目录

一、面向过程和面向对象

二、类的定义

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

1、封装:将对象的属性和行为封装起来,将对象的属性和行为封装起来的载体就是类

2、继承:继承性是子类自动共享父类数据结构和方法的机制,是类之间的一种关系;当处理一个问题时,可以将一些有用的类保留下来,这些类通常有相同的属性甚至相同的方法,当遇到同样的问题时可以拿来复用。

3、多态:将父类对象应用于子类的特征就是多态。子类继承了父类的特点,同时子类又有自己的特点即是多态,多态指的是一个类的实例(对象)可以表现出多种形态。

四、类的内容

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

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值