面向对象

Posted 冰蓝小猪宝宝

tags:

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

  一直觉得面向对象是个很宽广的词语,很抽象,一直不理解其意思。最近写了一点代码,再看了看书,才浅显的懂了一些,以下作为记录。

      首先,先别去考虑什么是面向对象,只需要面向对象有三个特点:封装,继承,多态。当你分别明白这三个特点的意思及用法时,我想你已经掌握了面向对象了。

      继承:java继承是单继承,并且子类只能直接继承于一个父类。继承的关键字是extends,extends英译过来是“扩展”的意思。指的是子类可以扩展父类的一些方法;之所以翻译成“继承”,是因为去了中国人继承父辈一些资产,习惯等寓意。也就是说子类会继承父类的一些方法,但同时子类也可以扩展优化覆盖父类的方法。

     代码举例:

    父类:创建一个父类PersonTest(人类),person类有个方法person,person can walk

public class PersonTest {public void Person(){
        System.out.println("person can walk");
    }
}

  子类:创建一个子类SupermanTest(超人),继承父类PersonTest,并且重写了person方法,Superman can walk and fly

public class SupermanTest extends PersonTest {
    public void Person(){
        System.out.println("Superman can walk and fly");
    }
    public static void main(String args[]){
        PersonTest p = new PersonTest();
        p.Person();                                //person can walk
        SupermanTest superman = new SupermanTest();
        superman.Person();                         //Superman can walk and fly
    }
}
  • 创建父类实例,PersonTest p = new PersonTest();
  • 调用父类方法,p.Person();
  • 执行结果,person can walk
  • 创建子类实例,SupermanTest superman = new SupermanTest();
  • 调用子类方法,superman.Person();
  • 执行结果,Superman can walk and fly

总结:  

  子类继承父类,在子类中可以调用父类方法,也可以调用自己子类中的方法,子类方法可以重写父类方法。

以上是关于面向对象的主要内容,如果未能解决你的问题,请参考以下文章

面向面试编程代码片段之GC

PHP面向对象之选择工厂和更新工厂

Java中面向对象的三大特性之封装

python之路之前没搞明白4面向对象(封装)

Scala的面向对象与函数编程

Python面向对象学习之八,装饰器