重新认识面向对象

作者: ivanZz | 来源:发表于2016-11-01 21:33 被阅读40次

继承

面向对象肯定要用到继承
定义:继承是对现实生活的“分类”概念的一种模拟
目的:复用代码
而现实的作用:忽略了代码的耦合性和内聚性,造成了代码高耦合,拥有极深的类型继承树,牵一发而动全身,影响对代码的日后维护

3.jpg

子类和父类的关系

Animal an=null;//父类
Lion li=New Lion();//子类
an=lion;//正确
lion=an;//编译时错误
lion=(Lion)an;//正确
Monkey m=(Monkey)an;//运行时错误

父类和子类的方法,字段同名的时候,那么问题来了..

方法同名: 重载与重写

重载 重写
不用继承 必须继承
方法名相同,参数列表不同 方法名,参数数目相同,参数类型兼容
修饰符无关 方法修饰符大于等于父类的方法

字段同名

class Parent{
      public int value = 100;
}
class Child:Parent{
      public int value = 200;
}
#在主函数中的测试代码
Parent p = new Child();
System.out.println(p.value);
System.out.println((p as Child).value);

第一个输出语句是父类的值
而第二个输出语句是子类的值,总结在字段同名的情况下,子类若想输出必须转换类型

总结:在实际开发中,要尽量避开这些坑!!!

相关文章

  • 重新认识JavaScript面向对象: 从ES5到ES6

    一. 重新认识面向对象 1. JavaScript是一门面向对象的语言 在说明JavaScript是一个面向对象的...

  • 全面理解面向对象的 JavaScript

    重新认识面向对象 为了说明 JavaScript 是一门彻底的面向对象的语言,首先有必要从面向对象的概念着手 , ...

  • 2.面向对象设计原则

    变化是复用的天敌!面向对象设计最大的优势在于:抵御变化! 重新认识面向对象 理解隔离变化 从宏观层面来看,面向对象...

  • android设计模式

    学习大纲: 重新认识面向对象: 1:理解隔离变化 2:各司其职 3:对象是什么? 面向对象设计原则(八个) 1.依...

  • 重新认识面向对象

    为了说明 JavaScript 是一门彻底的面向对象的语言,首先有必要从面向对象的概念着手 , 探讨一下面向对象中...

  • 重新认识面向对象

    继承 面向对象肯定要用到继承定义:继承是对现实生活的“分类”概念的一种模拟目的:复用代码而现实的作用:忽略了代码的...

  • 关于面向对象:重新认识

    面向对象概述: 首先,不得不提的是面向对象是一种编程思想,其次,通过对象之间的相互调用和相互协作来完成开发;达到快...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • 总结.Net基础知识——献给即将入坑的同行们(一期)

    什么是面向对象 面向对象OO = 面向对象的分析OOA + 面向对象的设计OOD + 面向对象的编程OOP; 通俗...

网友评论

    本文标题: 重新认识面向对象

    本文链接:https://www.haomeiwen.com/subject/clbyuttx.html