zoukankan      html  css  js  c++  java
  • 面向对象三大特性(封装/继承/多态)

    引入:在面向对象思想中,有三大特性,封装  继承  多态。

    思考:我们在使用类和对象实现编程的时候,到底是遵循这什么样的逻辑呢?为什么要这样规范类呢?

    引入:面向对象很重要的思想就是隐藏,即外部不知道类内部是如何实现业务逻辑的,只管调用和使用结果,这个就是面向对象三大特性之一:  封装

    1.封装【掌握】

    定义:封装,字面意思就是将内容装到某个容器中,并进行密封保存,在面向对象思想中,封装指数据和对数据的操作捆绑到一起,形成

    对外界的隐藏,同时对外提供可以操作的接口。

      1.数据:即要操作的数据,在面向对象的具体体现就是类成员属性,(属性和静态属性)和类常量,这些都是在类的内部定义的用来保存数据的。

      2.数据的操作:即数据加工过程,在面向对象的具体体现就是方法,内部定义业务逻辑对数据进行加工处理。

      3.捆绑到一起:即使用类结构{}将属性,类常量和方法存放到一起,称为整体。

      4.对外提供可操作的接口:即提供可以供外部访问的类成员(通常指的是方法)。

    <?php
    
    class student{             //捆绑内容到一起,形成对我i姐隐蔽的整体
       const COUNT=1000;
       private static $name="杜伟";
       private $sex="男";                   //数据属性和类常量的保存
    
       public function show(){           //数据的操作
            return self::$name;
       }
    }
    
    
    $xim=new student();
    echo $xim->show();               //外部只能访问类中公有的方法,具体实现不可见
    ?>

    总结:

      封装是从对象抽象形成类的过程。

      封装是一种将数据和数据操作捆绑到一起,形成对外部的隐蔽,同时提供对外操作的接口。

      封装是面向对象第一大特性,也是面试官喜欢询问对面向对象思想理解的知识。

    思考:面向对象思想是符合人类的思维逻辑的,那显示中的“富二代”指类的能过够在面向对象思维具体体现吗?

    继承【掌握】

    定义:继承,既有些类似的对象中,如人是一种大类,下面可以细分出一些小类,如男人,女人等,然后有一些公共的特性可以在一些基础类中体现,二其他相似或者较小

    类可以直接使用上级类中的公共代码。

      1.继承基础:子类(要继承其他类的类,也称为派生类)与父类(被继承的类,也称为基类)之间本身是一种包含与被包含关系,如此才有课继承的前提

    <?php
    //基类
    class posen{       //人类
    
    }
    
    class man{            //男人
    
    }
    
    class wman{             //女人
    
    }
    
    ?>

      2.继承关键字extends 子类想要继承父类,则必须在子类结构申明时明确使用extensa关键字来继承相关类

    <?php
    //基类
    class posen{       //人类
    
    }
    
    class man extends posen{            //男人类继承人类
    
    }
    
    class wman extends posen{             //女人类继承人类
    
    }
    
    
    ?>

      3.继承效果:子类可以不用自己去实现某些功能,二可以直接访问父类中已经存在的成员

    <?php
    //基类
    class posen{       //人类
        function eat(){
            echo "吃饭";
        }
    }
    
    class man extends posen{            //子类为空类,没有类成员
    
    }
    
    
    $s=new man();           //实例化子类
    $s->eat();                //输出吃饭

    总结

      1.继承extends是面向对象中实现代码重复利用的重要特性

      2.继承是指子类可以直接访问父类中已经存在的成员

      3.继承可以节省代码工作,同时允许子类中进行扩展,即在子类中增加必要的父类不存在的功能

    多态【了解】

      定义:多态,是指在发生类的继承的情况下,同时出现方法的重写(override),即子类拥有与父类同名的方法。然后在

    实例化对象的时候让父类对像(强制类型,php不支持),父类对象表现的子类对象的特点。

    1.php是弱类型语言,所以不存在变量的强制类型,因此php不支持多态。

    总结:

      1.多态的发生必须有继承关系,并且子类要重写父类方法

      2.多态是指父类对象拥有子类形态,并且可以表现出子类的特性(调用子类方法)

      3.php是弱类型语言,不支持多态。

  • 相关阅读:
    python之类的详解
    flask中cookie和session介绍
    Flask数据库的基本操作
    CSRF原理
    Ajax.2
    浅谈Ajax
    Django中的缓存机制
    Django简介
    HTTP协议
    web应用
  • 原文地址:https://www.cnblogs.com/xiaowie/p/12287269.html
Copyright © 2011-2022 走看看