`
youyun_2008
  • 浏览: 113321 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

多态的一个实际应用

    博客分类:
  • java
阅读更多
最近碰到一个问题,在一框架中已经存在了一个类,其中的一个属性是protected,且这个属性只有get方法。项目中需要使用到这个类,但必须修改这个属性的值。
想想只能通过子类来多态来对该属性重新设置值,然后覆盖其get方法。


具体代码如下:
public class Parent {
	protected String name = "zhangsan";
	
	public String getName(){
		return name;
	}
}

public class Child extends Parent {
	protected String name = "wangwu";
	
	public void setName(String name){
		this.name =  name;
	}
	
	@Override
	public String getName(){
		return name;
	}
	
	public static void main(String[] args){
		Child child = new Child();
		child.setName("lisi");
		Parent p = child;
		System.out.println(p.getName());
	}
}
分享到:
评论

相关推荐

    Java 多态应用,掌握多态

    编译时多态主要通过方法的重载(Overloading)实现,即在同一个类中定义多个同名但参数列表不同的方法。而运行时多态则是通过方法的重写(Overriding)和接口实现实现,它依赖于对象的实例化类型而非声明类型。 1. ...

    一个HW 多态题目 一个HW 多态题目

    多态是指一个接口可以有多种不同的表现形式或行为。在C++中,多态主要通过虚函数实现。当基类指针或引用指向派生类的对象时,调用虚函数会根据实际的对象类型来执行相应的函数实现,这就是动态绑定或运行时多态。在...

    java多态的实际应用.pdf

    本文介绍了Java多态在实际应用中的体现,通过一个示例程序展示了如何使用抽象类、继承和接口等特性实现多态。 首先,文档中定义了一个抽象类Shape,这个类是所有形状类的基类,它提供了一个抽象方法area(),用于...

    多态的应用

    在编程领域,多态(Polymorphism)是面向对象编程中的一个重要概念,它允许我们用一个接口处理多种不同的数据类型。多态性使得程序更加灵活,可扩展性更强,能够提高代码的重用率和可维护性。在这个名为“6_7duotai...

    Java中多态的具体应用代码

    编译时多态主要是通过方法重载(Overloading)实现,即在一个类中定义多个同名但参数列表不同的方法。运行时多态则依赖于方法重写(Overriding),即子类对父类已有的非final和非静态方法进行重新定义。 例如,假设...

    一个经典c#多态的范例

    在这个"经典C#多态的范例"中,我们可能看到一个基类(Base Class)定义了至少一个虚方法,然后由一个或多个派生类(Derived Classes)继承这个基类并重写了该虚方法。例如,基类可以定义一个名为`Talk()`的方法,...

    C++简单应用程序多态和派生的应用

    在实际的简单应用程序中,多态和派生可以用来创建具有通用行为的组件,然后根据需要进行扩展。例如,你可以设计一个图形库,基类`Shape`有一个`draw()`方法,然后派生出`Circle`、`Rectangle`等具体形状的类,每个类...

    Java实验报告——类的继承、多态的应用

    在`main`方法中,我们创建了`UnderGraduate`和`Graduate`的对象,并通过`StudentManager`进行操作,显示了不同类型的“学生”对象可以被同一个方法处理,这就是多态的直观表现。 总结来说,这个实验报告通过实际...

    java 多态.docx

    在实际应用中,多态常常体现在方法的调用上。例如,在`Test.java`文件中,`show()`方法接收Animal类型的参数,然后根据传入的对象实际类型执行不同的操作。这是通过`instanceof`关键字和向下转型来实现的。 另外,...

    多态的练习案例

    在编程领域,多态(Polymorphism)是面向对象编程中的一个重要概念,它允许我们用一个接口处理多种不同的数据类型。多态性使得程序更加灵活,可扩展性更强,能够提高代码的重用率。本练习案例将深入探讨多态的常见...

    C++程序设计-封装、继承多态应用示例

    总结来说,"C++程序设计-封装、继承多态应用示例"是一个很好的教学资源,它通过一个生动的龙与人战斗场景,帮助初学者理解并实践了面向对象编程的关键概念。通过这个示例,学习者不仅可以了解这些理论知识,还能通过...

    c#中应用多态的计算器

    这个例子展示了多态在C#中的实际应用,它使得计算器可以根据用户的需求选择不同的计算策略,同时保持了代码的整洁和模块化。通过这种设计,如果需要添加新的计算功能或修改现有功能,只需要扩展或修改相应的子类即可...

    java的编译时多态和运行时多态

    现在,如果我们创建一个 Lady 对象,并将其设置为 Cat、Dog 或 Bird 对象,我们可以调用 Lady 对象的 enjoy 方法,这时 JVM 会根据 Lady 对象的实际类型来调用相应的 enjoy 方法: ```java Lady lady = new Lady(...

    C#控制台应用程序(封装,继承,多态)

    本项目旨在通过一个实际的控制台应用实例,帮助开发者深入理解这些概念。 封装是面向对象编程的核心概念之一,它涉及到将数据和操作这些数据的方法捆绑在一起,形成一个独立的单元——类。在C#中,我们可以使用访问...

    java多态小结

    多态(Polymorphism)是面向对象编程的一个核心特性,指的是一个接口可以被多个类所实现或一个类可以被多个类所继承,进而表现出不同的行为。在Java中,多态主要体现在两个方面:**编译时类型与运行时类型的不同**...

    关于C#继承多态的应用项目

    本项目旨在通过实际操作来深入理解和应用这两个概念。 首先,让我们理解“继承”。继承允许一个类(子类)从另一个类(父类)中获取属性和方法,而无需重新编写代码。在C#中,我们可以使用`: base`关键字来指定父类...

    C++多态技术的实现和反思

    当一个基类指针或引用指向派生类对象时,通过该指针或引用调用虚函数,C++运行时系统会根据实际对象的类型决定调用哪个版本的函数。这一过程涉及到一个被称为虚函数表(vtable)的查找表,它存储了类中所有虚函数的...

    原来多态还可以这样

    "原来多态还可以这样"这个标题揭示了一个可能的惊喜,即对于初学者或者一些开发者来说,多态性可能有他们未曾了解的深层次或者创新的使用方式。通过博主Andy99在iteye上的博文链接,我们可以推测这篇文章可能介绍了...

Global site tag (gtag.js) - Google Analytics