基础知识

Posted zhouwanqiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础知识相关的知识,希望对你有一定的参考价值。

一、面向对象的学习

  1)语法的学习

    OOP(面向对象的编程)

  2)思想的学习

    OOA(面向对象的分析)

    OOD(面向对象的设计)

二、什么是面向对象

  1)操作对象

  2)从程序的执行者变成了程序的管理者

三、什么是对象

  1)万物皆对象

  2)实实在在的一个独立个体

四、面向对象的目标

  1)解决面向过程的缺陷(包括:代码冗余较大、不利于协同开发、开发效率极低、代码维护困难、程序的扩展性差)

  2)达到高可扩展性、高可重用性、高灵活性、高内聚(内部联系)、低耦合(外部联系)

五、面向对象的特点

  封装、继承、多态

六、对象的组成

  1)成员属性(描述)

  2)成员方法(功能、行为)

七、什么是类

  类是具有相同属性和相同行为的对象的一类总称

八、类和对象的关系

  1)先有类,再有对象

  2)类是用来描述对象的

  3)类是对象的抽象化

  4)对象是类的实例化

九、类的组成部分

  成员属性(一个成员属性就是一个变量)

  成员方法(一个成员方法就是一个函数)

十、如何声明一个类

  1)简单格式:

    class 类名{

      [成员属性]  //也叫成员变量

      [成员方法]  //也叫成员函数

    }

  2)完整格式:

    class 类名 [extends 父类] [implements 接口1[,接口2...]]{

      [成员属性]

      [成员方法]

    }

  类的声明需要注意的:

    1.成员属性的声明,属性前必须要有修饰符

      修饰符 $变量名[=默认值];

      常用属性修饰符:publicprotectedprivatestaticvar

    2.成员属性可以不给默认值

    3.成员属性就是一个变量,其默认值不可以是另一个变量名、带运算符的表达式、方法或函数调用

      public $var1=1+2;  //错误格式

      public $var2=self::myStaticMethod();  //错误格式

      public $var3=$var4;  //错误格式

    4.成员方法的声明,可以没有修饰符,也可以没有返回值

      [修饰符] function 方法名(参数1,...){

        [方法体]

        [return 返回值]

      }

      修饰符:publicprotectedprivatestaticabstractfinal

    5.成员方法就是一个函数,必须和对象相关不能是一些无意义的操作

十一、对象的实例化

  1)需要通过类来进行实例化对象:

    $对象名称=new 类名称();

    $对象名称=new 类名称([参数1,...]);

  2)成员属性和成员方法都必须藉由该对象来进行访问、调用

  3)对象的访问须使用 -> 来访问

  4)类的名称不区分大小写

  5)类可以在任意位置调用

    例:     

    class Person{
        //[成员属性]
        //姓名
        var $name;
        //性别
        var $sex;
        //年龄
        var $age;

        //[成员方法]
        //吃饭
        function eat(){
            echo "爱吃肉";
        }
        //睡觉
        function sleeep(){
            echo "爱睡懒觉";
        }
        //说话
        function speak(){
            echo "不爱BB";
        }

    }


    $person=new Person;
    $person->name="autumn";
    $person->sex="X";
    $person->age=25;

    echo "<pre>";
    var_dump($person);
    echo "</pre>";

    echo $person->name.$person->sex.$person->age.$person->eat().$person->sleeep().$person->speak();
object(Person)#1 (3) {
  ["name"]=>
  string(6) "autumn"
  ["sex"]=>
  string(1) "X"
  ["age"]=>
  int(25)
}

爱吃肉爱睡懒觉不爱BBautumnX25

十二、$this 关键字

  1)$this就代表本对象

  2)$this只能在类的内部去使用

  3)$this可以在类中调用本对象自己的成员属性和成员方法

  4)在类的内部的多个成员方法中利用“return $this;”即可实现链式操作

    例1:

class Person{
    //[成员属性]
    //姓名
    var $name;
    //性别
    var $sex;
    //年龄
    var $age;

    //[成员方法]
    function info(){
        echo "姓名:".$this->name."性别:".$this->sex."年龄:".$this->age;
    }
}


$p1=new Person;
$p1->name="admin1";
$p1->sex="男";
$p1->age=20;
$p1->info();

echo "<hr>";

$p2=new Person;
$p2->name="admin2";
$p2->sex="女";
$p2->age=25;
$p2->info();

echo "<hr>";

$p3=new Person;
$p3->name="admin3";
$p3->sex="男";
$p3->age=30;
$p3->info();

姓名:admin1性别:男年龄:20


姓名:admin2性别:女年龄:25


姓名:admin3性别:男年龄:30

    例2:  

class Person{
    //[成员属性]
    //姓名
    var $name;
    //性别
    var $sex;
    //年龄
    var $age;

    //[成员方法]
    function eat(){
        echo "吃晚饭";
        return $this;
    }
    function speak(){
        echo "不爱BB";
        return $this;
    }
    function sleeep(){
        echo "上床睡觉";
        return $this;
    }
    function offlights(){
        echo "关灯";
        $this->speak();
    }
}

$person=new Person;

$person->eat()->speak()->sleeep()->offlights();

吃晚饭不爱BB上床睡觉关灯不爱BB

  

以上是关于基础知识的主要内容,如果未能解决你的问题,请参考以下文章

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

VsCode 代码片段-提升研发效率

201555332盛照宗—网络对抗实验1—逆向与bof基础

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础

JSP基础

片段 getActivity 不起作用