zoukankan      html  css  js  c++  java
  • 面向对象的四大特性

    抽象,多态,封装,继承

    抽象:把具体的事物,通过抽象,提取他们的共同特点,比如成年人,小孩,老人,抽象成人,然后把他们共同的特点抽出来,然后归纳

      说道抽象,就需要说一下抽象类,说道抽象类,那么就必须和接口放在一起谈一谈

        抽象类和接口的区别

          抽象类里面的方法可以有具体的实现,接口不可以有

          抽象类的继承使用extends,而接口的实现使用implements

          抽象类不能被实例化,接口也不能

          抽象类可以有构造器,接口没有

          抽象类可以有main函数,接口没有

          抽象类可以实现多个接口,而接口只能实现接口

          抽象类添加新的方法,可以不影响子类,接口不行

        

    多态:不同对象,对同一个消息,产生不同的反映

    1 Person p =new child(); 
    2 Person p =new old();

      还涉及到了向上转型和向下转型

        向上转型,代码如上,可以自动转换

        向下转型,需要强制转换,而且不能直接把父类对象转换成子类

    //会报错
    Child c = new Person();
    //正确写法
    Person p = new Child();
    Child c = (Child)p

      多态的优点

        一旦需求发生变更,只需要修改new的对象(少量修改便可继续使用)

      多态的条件

        继承

        方法的重写

        父类的引用指向子类

    封装:把对象属性和行为包裹成一个整体,对外提供功能,外部不了解怎么实现

    继承:子类继承父类的属性和行为,并根据自己的需求来扩展行为

  • 相关阅读:
    菜根谭#219
    菜根谭#218
    菜根谭#217
    菜根谭#216
    有了OpenMP,MPI,为什么还要MapReduce? (转载)
    人生就是一场战略
    SDAccel 开发环境
    各种加速卡 异构计算
    Nvidia Tesla (GPGPU)系列发展流程
    Nvidia 架构发展
  • 原文地址:https://www.cnblogs.com/fjd-1004/p/11044701.html
Copyright © 2011-2022 走看看