多媒体数据库小练习

 package com.dome;

 import java.util.ArrayList;

 public class Database
{ // private ArrayList<CD> listCD=new ArrayList<CD>();
// private ArrayList<DVD> listDVD=new ArrayList<DVD>();
private ArrayList<Iterm> listIterm=new ArrayList<Iterm>(); // public void add(CD cd)
// {
// listCD.add(cd);
// }
//
// public void add(DVD dvd)
// {
// listDVD.add(dvd);
// }
public void add(Iterm iterm)
{
listIterm.add(iterm);
} public void list()
{
// for (CD cd : listCD)
// {
// cd.print();
// }
// for (DVD dvd : listDVD)
// {
// dvd.print();
// }
for (Iterm iterm : listIterm)
{
iterm.print();
}
} public static void main(String[] args)
{
// TODO Auto-generated method stub // Database db=new Database();
// db.add(new CD("abc", "abc", 4, 60, "..."));
// db.add(new CD("def", "def", 4, 60, "..."));
// db.add(new DVD("xxx","xxx",120,"..."));
// db.list();
Iterm i=new Iterm("a", 3, false, "..");
i.print();
} }

Iterm类

package com.dome;

public class Iterm
{ private String title;
private int playingTime;
private boolean gotIt = false;
private String comment; public Iterm(String title, int playingTime, boolean gotIt, String comment)
{
super();
this.title = title;
this.playingTime = playingTime;
this.gotIt = gotIt;
this.comment = comment;
} protected void print()
{
// TODO Auto-generated method stub
System.out.print(title);
} }

CD类

 package com.dome;

 public class CD extends Iterm
{ private String artist;
private int numofTracks; public CD(String title, String artist, int numofTracks, int playingTime, String comment)
{
super(title,playingTime,false,comment);
// this.title = title;
this.artist = artist;
this.numofTracks = numofTracks;
} public static void main(String[] args)
{
// TODO Auto-generated method stub } public void print()
{
// TODO Auto-generated method stub
System.out.print("CD:");
super.print();
System.out.println(":"+artist);
}
}

DVD类

 package com.dome;

 public class DVD extends Iterm
{ private String director; public DVD(String title, String director, int playingTime, String comment)
{
super(title, playingTime, false, comment);
this.director = director;
} public static void main(String[] args)
{
// TODO Auto-generated method stub } public void print()
{
// TODO Auto-generated method stub
System.out.print("CD:");
super.print();
System.out.print(":"+director);
} }

总结:通过这次小练习,体会了代码重复的危害和继承和函数的好处。

Java进阶学习(4)之继承与多态.demo的更多相关文章

  1. Java进阶学习:将文件上传到七牛云中

    Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...

  2. Java进阶学习:log4j的学习和使用

    Java进阶学习——log4j的学习和使用 简介Loj4j Log4j的组成 Log4j主要由三大组组件构成: Logger: 负责生成日志,并能够对日志信息进行分类筛选,通俗的讲就是决定什么日志信息 ...

  3. Java学习--封装、继承、多态

    接下来几天会根据http://www.cnblogs.com/chenssy/category/525010.html中讲解的java内容做个学习笔记,在此感谢一下这位大仙!! 一.封装 对于封装而言 ...

  4. 浅析Java三大特性封装、继承、多态,及作业分析

    前言 本次博客衔接上次博客,作为这一阶段Java学习的分析.上一篇博客着重介绍了Java的OO编程思维,面向对象与面向过程的区别.本篇博客重心在Java的三大技术特性,附带作业分析. Java三大特性 ...

  5. Java基础之浅谈继承、多态

    一.继承的理解 继承:简单通俗的来讲,继承就是一个类继承另一个类,通常用extends表示继承. 继承的类叫子类,被继承的类叫父类. 子类可以使用父类的变量和方法,同时也可以重写父类的方法. 在Jav ...

  6. Java—类的封装、继承与多态

    一.类和对象 1.类 类是数据以及对数据的一组操作的封装体. 类声明的格式: 类声明 { 成员变量的声明: 成员方法的声明及实现: } 1.1 声明类 [修饰符] class 类<泛型> ...

  7. java复习(5)---接口、继承、多态

    Java作为完全面向对象语言,接口.继承和多态是三个非常重要的概念. 1.继承. (1)关键字: extends (2)子类用super()调用父类构造函数,用super().方法 调用父类的成员方法 ...

  8. Java探索之旅(8)——继承与多态

    1父类和子类: ❶父类又称基类和超类(super class)子类又称次类和扩展类.同一个package的子类可以直接(不通过对象)访问父类中的(public,缺省,protected)数据和方法. ...

  9. java面向对象(封装,继承,多态,抽象,接口的定义和实现)

    1.封装 在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定 ...

  10. Java进阶学习(4)之继承与多态(下)

    多态变量和向上造型 多态变量 子类和子类型 类定义了类型 子类定义了子类型 子类的对象可以被当作父类的对象来使用 赋值给父类的变量 传递给需要父类对象的函数 放进存放父类对象的容器里 多态变量 Jav ...

随机推荐

  1. ContestHunter 1201 最大子序和

    描述 输入一个长度为n的整数序列,从中找出一段不超过m的连续子序列,使得整个序列的和最大. 例如 1,-3,5,1,-2,3 当m=4时,S=5+1-2+3=7当m=2或m=3时,S=5+1=6 输入 ...

  2. 假期学习【三】HDFS操作及spark的安装/使用

    1.安装 Hadoop 和 Spark 进入 Linux 系统,参照本教程官网“实验指南”栏目的“Hadoop 的安装和使用”,完 成 Hadoop 伪分布式模式的安装.完成 Hadoop 的安装以后 ...

  3. Python基础概念

    一.Python中执行代码的方式 直接在编译器中交互执行: 在编译器中通过Python和文件的路径执行: 在linux系统中可以./test.py(需要代码第一行增加# !/usr/bin/env p ...

  4. 如何将.sql文件导入到mysql的数据库中

    首先通过cmd的net start mysql57 启动mysql的服务器 然后,输入命令:mysql -h 127.0.0.1 -u root -p来启动mysql服务 最后 上图画红圈的部分是.s ...

  5. 机器学习作业(二)逻辑回归——Matlab实现

    题目太长啦!文档下载[传送门] 第1题 简述:实现逻辑回归. 第1步:加载数据文件: data = load('ex2data1.txt'); X = data(:, [1, 2]); y = dat ...

  6. 多个iframe,删除详情页时刷新同级iframe的table list

    说明:在使用iframe开发时,经常遇到多个iframe之间的操作. 下面就是一个需求:在一个iframe中关闭时,刷新指定的iframe: 添加需要刷新的标识reload=true //添加npi2 ...

  7. ANDROID开发之问题积累及解决方案(四)

    首先贴出问题类型: 程序无法启动,查看logcat,提示如下信息: W/dalvikvm(679): PR_CAPBSET_DROP 32 failed: Invalid argument. Plea ...

  8. CriteriaBuilder jpa 日期date查询

    概要:前端日期选择器选择完之后传一个String到后台,后台的字段的数据类型是date 前端: <label class="layui-form-label" >单据日 ...

  9. 洛谷P2158 [SDOI2008]仪仗队 欧拉函数的应用

    https://www.luogu.org/problem/P2158 #include<bits/stdc++.h> #define int long long using namesp ...

  10. maven构建错误 RSA premaster secret error: SunTls12RsaPremasterSecret KeyGenerator not available

    转载地址:https://blog.csdn.net/daydayuptiantian/article/details/78763035 错误信息前面显示的是:Failed to execute go ...