设计继承树2

 1 class Animalz{
 2     String name;
 3     String food;
 4     int hunger;
 5     void makeNoise(){}
 6     void eat(){}
 7     void sleep(){}
 8     void roam(){}
 9
10 }
11  class Feline extends Animalz{
12      void roam(){
13          System.out.println("猫科动物的活动方式");
14      }
15  }
16
17  class Lion extends Feline{
18      void makeNoise(){
19          System.out.println("狮子吼");
20      }
21      void eat(){
22          System.out.println("狮子在肉食");
23      }
24  }
25
26  class Canine extends Animalz{
27      void roam(){
28          System.out.println("犬科动物的移动方式");
29      }
30  }
31 public class Jichenshu extends Feline{
32     void makeNoise(){
33         System.out.println("呜呜呜。。。。");
34     }
35     void eat(){
36         System.out.println("狼吃肉");
37     }
38     public static void main(String[] args){
39         Lion l = new Lion();
40         l.makeNoise();
41         l.eat();
42
43         Jichenshu wolf = new Jichenshu();
44         wolf.makeNoise();
45         wolf.eat();
46     }
47 }

时间: 2024-09-29 15:23:41

设计继承树2的相关文章

设计继承树1

1 public class Sheji extends Animals{ //继承Animal 2 void makeNoise(){ //重写makeNoice方法 3 System.out.println(name+"汪汪汪!"); 4 } 5 void eat(){ 6 System.out.println(name+"在高兴地吃"+food); 7 System.out.println(name+"饥饿程度是:"+hunger+&quo

python - 回溯继承树 - 自己实现

# -*- coding: utf-8 -*- class test(object): pass class test1(test): pass class test2(test1): pass print test2.__bases__ print type(test2.__bases__[0]) print test2.__bases__[0].__bases__ print getattr(test2.__bases__[0], '__bases__') print '-' * 10 de

【SSH快速进阶】——Hibernate继承映射:每棵继承树映射一张表

我们都知道,Hibernate最大的一个优点就是使开发更加"面向对象",类与类之间有继承关系,Hibernate中也对这种继承关系提供了映射的封装. Hibernate为继承映射提供了三种策略 1.每棵继承树使用一张表 2.每个子类使用一张表 3.每个具体类使用一张表 本文对第一种策略进行说明. 场景 如下类图 上图中Pig类和Bird类继承Animal类,每棵继承树对应一张表,即在同一棵继承树中,所有的类的对象信息(记录)共同存放到一张表中,要判断某条记录属于哪个对象,需要在表中添加

Atitit利用反射获取子类 集合 以及继承树

Atitit利用反射获取子类 集合 以及继承树 想从父类往下找子类的确是不可能的,要知道只要类不是final的话谁都有继承它的自由不需要事前通知父类. Eclipse实现不是重父类开始找而是重子类往回找,然后在逐个匹配. 很简单,遍历源代码目录下的所有类文件,根据类定义行通过字符串匹配找出继承该类的所有子类. 找某个包的子类,JDK中没有直接提供相应的接口,应该是加载classpath下的所有类,放到类似Map<Package, Collection<Class>>容器中 如果一定

三个一流的设计继承

 通过继承可以派生新类从现有的类.派生类继承了基类的功能,包含方法. 財产要比自己白手起家easy一样.通过继承派生出的类通常比设计新类要easy得多. 以下是可以通过继承完毕的一些工作. ①能够在已有类的基础上加入功能. ②能够给类加入数据. ③能够改动类方法的行为. C++有三种继承方式:公有继承.保护继承和私有继承. 一.公有继承 公有继承是最经常使用的方式.它建立一种is-a关系.即派生类对象也是一个基类对象.能够对基类对象运行的不论什么操作,也能够对派生类对象运行. ①公有继承不建

HDU ACM 4514 湫湫系列故事——设计风景线-&gt;树上环的判断+树上最长路

题意:一个无向图,首先判定是否成环,然后求一条最长链. 分析:成环用并查集判断,最长链就是树形dp了. #include<iostream> #include<vector> #pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; #define N 100005 int ans; int dp[N]; //dp[i]表示i节点为根节点树的最长路 int p[N];

hihocoder 1074 字体设计(线段树)

这题可以把问题转化为,对于一个位置,限制的位置必然是,递增时候,小于他本身,或者递减时候,大于他本身的位置,然后在这个区间中,寻找最大(小)值的位置,这样利用线段树维护即可,对于一个限制位置,可以先把数字离散化掉,然后用权值做节点很容易就处理出来了,然后第二个问题就是普通的rmq问题 代码: #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N

Java编程设计---继承

继承的定义 根据已有的类的属性行为衍生出一个新的类,新类拥有本类的所有属性和行为,新类称是继承了本类 新建的类为子类或衍生类,原来的类为父类或是基类 意义:Java的继承是为了避免了编码的重复编写而可以直接使用 使用继承的优点: 代码更简单 重复使用率更高 不需要修改源代码 便于维护 类和类之间的关系有继承.拥有和依赖三种关系,理解分别是is ,has,use 根据多个类所有的属性和行为,将相同属性或行为写在一个类(父类)中,互相不同的属性方法写在子类中,最后用extends完成继承关系 注意:

深入集合类系列——你必须要知道的两棵继承树