zoukankan      html  css  js  c++  java
  • 面向对象的总结

    /*最近一直在看面向对象方面的书籍,总算对面向对象有了一点认知,现特将面向对象进行一点总结,以备将来之用,向将面向对象的java做示例

    以下观点都代表本人的一些认知,如果有不恰当的地方,希望大家指正。谢谢

    */

    面向对象:

    提到面向对象,不能不说他的三大特向,封装,继承,多态

    1,封装,封装主要表现在,类的封装,方法的封装,以及访问修饰符的封装

    2,继承,首先为什么要继承,继承的目的是为了减少代码的重复性,可维护性,父类:所有子类共有的属性和方法。子类:子类就放自己所独有的,子类继承了父类以后,就具有子+父的共有属性和方法。说到继承,不能不说,重写,为啥要重写,重写的目的是父类的方法不适合子类的需求,谈到重写,又不能不说与重载的区别。重写是发生在父子类中,而重载是发生在一个类中,并且重载是方法名一样,传入的参数类型不一样。再有就是父类和子类都有共同的方法,调用的时候,怎么知道应该调用父类的方法还是子类的方法呢,比如,定义一个动物类,里面有个方法叫跑,定义一个狗类继承了动物类,重写了动物类方法叫地上跑,定义一个鸟类继承了动物类,重写方法叫天上飞。动物类 a=new 狗类  此时a.跑是调用的狗类的跑,同样,动物类 b = new 鸟类   b.跑 就是调用的天上飞,总之一句话,能点出什么,看引用类型也就是前面的动物类,执行什么方法,主要看后面new出来的对象,说到继承,还有一个不能不说,那就是super(),什么是super,说到super就要与关键字this来比较了,this出现在代码中,主要是用来代表自己,而super主要是代表父类,在子方法被执行的时候,第一个执行的就是super(),如果你没有写,默认会调用父类的无参的构造方法。

    3,多态,多态主要有行为的多态,对象的多态,比如cut  理发师会理解为剪头发,演员会理解为 暂停,医生会理解为开刀,说到多态,自然要想到向上造型,首先需要明白,为什么要向上造型,我的理解是这样的,避免代码的重复,比如一个方法需要传入一个参数(名字),打印出名字 +你好  如果不用向上造型的话,只能写死一个类,比如,定义好传入的参数类型为大宝,就会打印出大宝你好,如果这个时候有个小宝也需要用这个方法打印出小宝,就只能重新再写一个同样的方法,只是传入的参数类型不一样而已,这个时候向上造型就出来解决这个问题了,大宝和小宝都是人类,如果我这边传入的是人类这个类型,无论再出现二宝,三宝都可以调用这个方法了,说到向上造型,自然就想到了强制类型的转换了。强制类型转换成功与否可以与istanceof进行判断,

    说完了三大特向以后,我们来看看以下关键内容,什么是抽象类,什么是抽象方法,什么是接口

    首先,什么是抽象类,为什么要有抽象类,抽象类又叫不完整类,抽象类可以包含完整方法,也可以不包含完整方法,只要有不完整的方法,就一点是抽象类,抽象类需要通过继承去完善和重写,继承的类必须重写这个方法,否则这个子类也必须定义为抽象类。有abstract 进行修饰,并且他不能被实例化,他是模糊的定义了一个动物类,比如定义一个类,里面有个方法叫哭,子类猫继承哭这个方法,就必须重写这个方法,

    什么是接口,我还没用想好怎么去描述,但我感觉他和父类一起来说比较好理解,比如一个例子,公司有董事长,总经理,部门经理,小职员。他们有共同的属性,就是他们都是人,都要吃饭,睡觉,所以吃饭和睡觉就可以写到父类中去(比如定义一个人类),但董事长和总经理以及部门经理都有开除人的权利,小职员没有,那开除人的权利无论写到父类中还是写到子类中,都不合适,这个时候就可以写到接口中去,谁有这个权利,谁就去实现这个接口。接口是有Interface 修饰,有Implement进行实现,总结一句话,共有的放父类,部分共有的放接口

  • 相关阅读:
    docker容器里面执行top报“TERM environment variable not set.”
    docker安装ubuntu以后无ifconfig命令解决办法
    免sudo使用docker
    centos6下安装docker
    Hadoop Aggregate Resource Allocation解释
    [] 与[[]]的区别
    awk如何传递外部变量?
    基于PaddlePaddle的语义匹配模型DAM,让聊天机器人实现完美回复 |
    作为一名程序员,在面试中如何展现你Python的coding能力?
    入门机器学习:代码+预训练模型,赶快练练吧!
  • 原文地址:https://www.cnblogs.com/czb529514/p/7275852.html
Copyright © 2011-2022 走看看