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

面向对象--抽象类的应用--模板设计

 
阅读更多

在Person类中定义了一个模板,在主方法中调用时,调用的就是普通方法,而子类只需要实现父类中的抽象方法,就可以得到一个具体信息。

abstract class Person
{
	public String name;
	public int age;
	public Person(String name,int age){
		this.name = name;
		this.age = age;
	}
	public void say(){
		System.out.println(this.getContent());
	}
	public abstract String getContent();
}
class Student extends Person
{
	public float score;
	public Student(String name,int age,float score){
		super(name,age);
		this.score = score;
	}
	public String getContent(){
		return "学生信息: 姓名:"+this.name+" 年龄:"+
			this.age+" 分数:"+this.score;
	}
}
class Worker extends Person
{
	public float salary;
	public Worker(String name,int age,float salary){
		super(name,age);
		this.salary = salary;
	}
	public String getContent(){
		return "工人信息: 姓名:"+this.name+" 年龄:"+
			this.age+" 薪水:"+this.salary;
	}
}
public class Demo4
{
	public static void main(String args[]){
		Person p1 = null;
		Person p2 = null;
		p1 = new Student("张帆",20,99f);
		p2 = new Worker("张正",32,4000f);
		p1.say();
		p2.say();
	}
}
 
分享到:
评论

相关推荐

    第05章 面向对象(下) 10 抽象类应用之模板方法设计模式

    第05章 面向对象(下) 10 抽象类应用之模板方法设计模式

    设计模式:可复用面向对象软件的基础--详细书签版

    ”)的应用经验和体验后,你将用一种非同寻常的方式思考面向对象设计。你将拥有一种深刻的洞察力,以帮助你设计出更加灵活的、模块化的、可复用的和易理解的软件—这也是你为何着迷于面向对象技术的源动力,不是吗?...

    【05-面向对象(下)】

    •抽象类代表了一种未完成的类设计,它体现的是一种模板。 •抽象类与模板模式。 接口的概念 •接口定义的是多个类共同的行为规范,这些行为是与外部交流的通道,这就意味着接口里通常是定义一组公用的 ...

    Java面向对象程序设计笔记

    Java面向对象程序设计笔记: 目录----非原创,上课的时候老师给的资料哦 第一章 Java 前凑 3 1. Java前凑 3 Java产生的目的 3 Java的诞生的历史 3 2.Java语言的特点 3 简单性 3 面向对象 3 网络技能 3 3....

    写给大家看的面向对象编程书(第3版).[美]Matt Weisfeld(带详细书签).pdf

    此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言、持久存储、分布式计算和客户/服务器技术等。  本书内容精炼,示例简单明了,适合各层次面向对象开发人员阅读,也是高校相关专业...

    Java学习代码实例,Java基础,Java面向对象,Java高级编程.rar

    所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。 什么是类 类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的...

    面向对象程序设计与Visual C++ 6教程源程序

    全面系统地讲述了C++语言的基本概念、语法和面向对象程序设计的方法及应用,并对C++面向对象语言的抽象性、封装性、继承性与多态性进行了全面介绍,内容包括C++语法、函数、类与对象、数组与指针、继承与派生、多态...

    C#与.NET技术平台实战演练.part2

    4-2虚拟方法与改写方法的守则11-5隐藏基础类方法11-6使用sealed类与sealed方法11-7版本控制11-8使用接口接口的特点11-9 以明确的方式实现接口11-10 抽象类11-10-1 抽象方法11-10-2 不实现接口的抽象类11-11 ...

    C#与.NET技术平台实战演练.part1

    4-2虚拟方法与改写方法的守则11-5隐藏基础类方法11-6使用sealed类与sealed方法11-7版本控制11-8使用接口接口的特点11-9 以明确的方式实现接口11-10 抽象类11-10-1 抽象方法11-10-2 不实现接口的抽象类11-11 ...

    Java学习路线:day15

    文章目录第四章 面向对象(下)抽象类与抽象方法抽象类应用练习创建抽象类的匿名子类对象多态的应用:模板方法设计模式(TemplateMethod)抽象类的练习接口(interface)概述举例接口的应用:代理模式(Proxy)接口的应用:...

    java学习及java学习代码.rar

    什么是面向对象 面向对象方法,面向对象的方法)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在"对象"概念基础上的方法学。对象是由数据和容许的操作...

    PHP实战:对象,设计,敏捷(PHP in Action :Objects, Design, Agility )

    6 面向对象原理 (Object-oriented principles) 7 设计模式 (Design patterns) 8 怎样设计的问题:日期和时间处理 (Design how-to: date and time handling) Part 2: 测试和重构 (Testing and refactoring) 9 测试...

    编程新手真言......

    2.18 面向类型化的设计和面向无类型泛化的设计-OO不是银弹 70 第3章 语言之争 71 3.1 学编程之初,语言之争 71 3.2 语言与应用与人(1) 72 3.2 语言与应用与人(2) 73 3.3 C与Ruby 74 3.4 你为什么需要Ruby 75 3.5 C++...

    UML和模式应用(架构师必备).part06.rar

    16.10 泛化、抽象类、抽象操作 16.11 依赖 16.12 接口 16.13 组合优于聚合 16.14 约束 16.15 限定关联 16.16 关联类 16.17 单实例类 16.18 模板类和接口 16.19 用户自定义的分栏 16.20 主动类 16.21 交互...

    设计模式 GOF 23

    本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用...

    程序设计教程 陈家骏等编著

    8.3.3 纯虚函数和抽象类 276 8.3.4 *虚函数动态绑定的实现 281 8.4 多继承 283 8.4.1 多继承的需要性 283 8.4.2 多继承的定义 284 8.4.3 名冲突 285 8.4.4 重复继承――虚基类 286 8.5 类作为模块 287 8.5.1 类模块...

    二十三种设计模式【PDF版】

    设计模式之 Template(模板方法) 实际上向你介绍了为什么要使用 Java 抽象类,该模式原理简单,使用很普遍. 设计模式之 Strategy(策略) 不同算法各自封装,用户端可随意挑选需要的算法. 设计模式之 Chain of ...

    asp.net知识库

    与DotNet数据对象结合的自定义数据对象设计 (一) 数据对象与DataRow ASP.NET中大结果集的分页[翻译] .net 2.0 访问Oracle --与Sql Server的差异,注意事项,常见异常 Ado.net 与NHibernate的关系? 动态创建数据库...

    C++数据抽象和问题求解(第6版).[美]Frank M. Carrano(带详细书签).pdf

    1.1.1 面向对象分析与设计 2 1.1.2 面向对象解决方案的特征 3 1.2 获得更好的解决方案 4 1.2.1 内聚 5 1.2.2 耦合 5 1.3 规范 6 1.3.1 操作契约 7 1.3.2 特殊情况 8 1.3.3 抽象 9 1.3.4 信息隐藏 10 ...

Global site tag (gtag.js) - Google Analytics