• 面向对象---特----性


     

    面向对象:是基于面向过程的一种思想。

    面向过程:强调的是功能行为。 

    面向对象:将功能封装进对象,强调具备了功能的对象。面向对象是基于面向过程的。 

    面向对象的三大特性:封装,继承,多态

    封装   将功能封装成一个个独立的单元,减小耦合,避免牵一发而动全身,方便对程序的修改

    继承   代码重用,减少编码量,间接减少维护成本。

     

    封装好处:

           1.将变化隔离;

           2.便于使用。

           3.提高重用性。

           4.提高安全性。

    封装原则:

           将不需要对外提供的内容都隐藏起来。

           把属性都隐藏,提供公共方法对其访问。

    private:关键字

           A:用于修饰成员变量和成员方法。
           B:被修饰的内容在其他类中是不可以被访问的。

    注意:私有仅仅是封装的一种体现而已。

     

          第一种理解方式:

    封装:

       首先,属性可用来描述同一类事物的特征, 行为可描述一类事物可做的操作,

    封装就是要把属于同一类事物的共性(包括属性与行为)归到一个类中,以方便使用.

    比如人这个东东,可用下面的方式封装:

    {

    年龄(属性一)

    身高(属性二)

    性别(属性三)

     

    做事(行为之一)

    走路(行为之二)

    说话(行为之三)

    }

     

    继承:

    由于封装,使得有共同特征的一类事物的所有描述信息都被归于一类之中,但我们

    知道,这并不是万能的,有些事物有共性,但还存在区别,比如教师,简单封装起来如

    :

     

    教师{

     

    年龄(属性一)

    身高(属性二)

    性别(属性三)

     

    做事(行为之一)

    走路(行为之二)

    说话(行为之三)

     

     教书(行为之四)

    }

     

    上面对"教师"的封装,与对"人"的封装基本上差不多,只是多了一个特征行为:教书,

    教师有与人一样的共性, 但我们不能说"人教书",也就是不能把教书封装到"人"

    之中去,教书是教师的特征行为之一. 为了省事地封装教师(代码的复用,这只是继

    承存在的原因之一), 可以让教师去继承人,

    :

    教师 extends 人{

        教书(

            行为之三

            )

    }

    这样,我们就不用重新定义那些已经被"人"这一个类所封装的那些属性与行为了,

    而只需要使用继承的方式,在人的基础上拓展教师专有的行为,即"教书"即可把教

    师描述出来;这样的结果, 即是教师也同时拥有"人"之中所封装的一切属性与行为,

    还拥有自己的特征行为"教书".

     

     

    一、封装性
    封装就是把抽取出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有被授权的操作(方法)才能对数据进行操作。

    php提供了三种访问控制修饰符
    public 表示全局,公共的,本类内部,类外部,子类都可以访问
    protected 表示受保护的,只有本类或子类可以访问
    private 表示私有的,只有本类内部可以访问
    以上三种修饰符既可以修饰方法也可以修饰属性(变量),方法如果没有访问修饰符则默认是public,成员属性必须指定访问修饰符。

     

     

     

     

     

     

     

  • 相关阅读:
    Git和SourceTree配合使用
    hive中数据存储格式对比:textfile,parquent,orc,thrift,avro,protubuf
    hive 实现类似 contain 包含查询
    hive函数 parse_url的使用
    Spring中注解方式的默认beanName生成规则
    @Autowired 与@Resource的区别
    js通过html的url获取参数值
    mysql模糊查询多个字段
    java获取调用当前方法的方法名和行数
    阿里druid数据源配置及数据库密码加密
  • 原文地址:https://www.cnblogs.com/jiaoaozuoziji/p/7384421.html
Copyright © 2020-2023  润新知