zoukankan      html  css  js  c++  java
  • php入门03-类和对象

    类是一类东西的结构描述,而对象则是一类东西的一个具体实例,例如汽车这个名词可以理解为汽车的总类,但这辆汽车则是一个具体的汽车对象。

    类通过关键字class开头,然后是类名与花括号,在花括号中定义类的属性与方法。

    //定义一个类
    class Car {
        //定义属性
        public $name = '汽车';
    
        //定义方法
        public function getName() {
            //方法内部可以使用$this伪变量调用对象的属性或者方法
            return $this->name;
        }
    }

    对象通过new关键字进行实例化(即创建类的实例):

    $car = new Car();
    //也可以采用变量来创建
    $className = 'Car';
    $car = new $className();

    PHP类和对象之类的属性

    在类中定义的变量称之为属性,通常属性跟数据库中的字段有一定的关联,因此也可以称作“字段”。属性声明是由关键字 public,protected 或者 private 开头,后面跟一个普通的变量声明来组成。属性的变量可以设置初始化的默认值,默认值必须是常量。

    访问控制的关键字代表的意义为:

    public:公开的
    protected:受保护的
    private:私有的

    class Car {
        //定义公共属性
        public $name = '汽车';
    
        //定义受保护的属性
        protected $corlor = '白色';
    
        //定义私有属性
        private $price = '100000';
    }

    默认都为public,外部可以访问。一般通过->对象操作符来访问对象的属性或者方法,对于静态属性则使用::双冒号进行访问。当在类成员方法内部调用的时候,可以使用$this伪变量调用当前对象的属性。

    <?php
        class Car{
            public $name='汽车';
            
            protected $corlor='白色';
            
            private $price='100000';
            
        }
        $car = new Car();
        //在这里输出$car对象的name属性
        echo $car->name;
    ?>

    PHP类和对象之定义类的方法

    方法就是在类中的function,很多时候我们分不清方法与函数有什么差别,在面向过程的程序设计中function叫做函数,在面向对象中function则被称之为方法。同属性一样,类的方法也具有public,protected 以及 private 的访问控制。

    <?php
        class Car {
            public function getName() {
                return '汽车';
            }
        ​}
        $car = new Car();
        echo $car->getName();
    ?>

    使用关键字static修饰的,称之为静态方法,静态方法不需要实例化对象,可以通过类名直接调用,操作符为双冒号::。

    <?php
        class Car {
            public static function getName() {
                return '汽车';
            }
        ​}
        echo Car::getName(); //结果为“汽车”
    ?>

    PHP类和对象之构造函数和析构函数

    PHP5可以在类中使用__construct()定义一个构造函数,具有构造函数的类,会在每次对象创建的时候调用该函数,因此常用来在对象创建的时候进行一些初始化工作。

    <?php
        header("Content-type: text/html; charset=utf-8");
        class Car {
           function __construct() {
               print "构造函数被调用
    ";
           }
        }
        $car = new Car(); //实例化的时候 会自动调用构造函数__construct,这里会输出一个字符串
    ?>
  • 相关阅读:
    URL收藏
    web网站防攻击策略
    网络编程
    Tomcat
    UML学习
    大数据学习
    PHP学习
    SYNC CSDN
    在浏览器中打开本地程序
    内存管理工具,帮助检查内存泄露及野指针问题
  • 原文地址:https://www.cnblogs.com/Anne1991/p/6913802.html
Copyright © 2011-2022 走看看