利用继承机制完成, 模拟移动的计费程序.
要求:
1. 可以满足现有业务:如"神舟行", "全球通" 等业务.
2. 现在增加一个业务"大灵通" , 要求不用改变原有的计算程序.
3. 要求自定义一个类,用于处理异常情况.如余额不够,时间格式不对等.提示:
 1. 建一个抽象类, PhoneCard. 具有初始金额,余额等信息,有一个计算方法caculate() 方法,用来计算余额.
 2.  具体业务从PhoneCard 继承,覆盖父类的caculate()方法, 计算账户余额.原有系统计算程序过程如下:
 
  for(...){
     //调用phoneCard的caculate()方法,并打印信息
 }信息:
神舟行: 接.拨0.60/分
大灵通:  16元包接听,拨0.25/分
全球通:  26元座机费, 0.40/分(拨,接)
这一题, 我开始感觉做得差不多了, 不过感觉做不好, 所以发出来给大家给我分析一下.   最好先说下你们的思路, 做题 , 思路是很重要的. 还有一走红理论东西 , 弄得不是很清楚.  1.  子类如何调用父类的private成员变量 2.   父类能否调用子类的 方法和变量,   听人说好像只能调用子类覆盖了父类的方法 .  就这里子类跟 父类之间 调用,,  引用对象, 完全都是迷迷糊糊的. 今天考试考得很糙!>.

解决方案 »

  1.   

    1,子类如何调用父类的private成员变量 
    你可以设置一个get方法,把private的成员变量ruturn出来2.  父类能否调用子类的 方法和变量,  听人说好像只能调用子类覆盖了父类的方法 . 
    假如father是父类,son是子类,
    你可以这样写
    father a = new son();
    但是似乎是不可以调用子类的方法,,,
      

  2.   

    abstract class phoneCard
    {
      caculate();
    }class dalingtong extends phoneCard
    {
      caculate();
    }class quanqiutong extends phoneCard
    {
      caculate();
    }class test
    {
      phoneCard  xx;
      xx.caculate();//当xx指向哪个子类就调用哪个子类的方法
    }另:出于安全性的考虑,变量都是设置为private方法,如果要更改的话采用的都是public 的get和set方法
      

  3.   

    子类如何调用父类的private成员变量如果父类的变量或者方法是专门设计给子类调用的,那么可以使用protected来定义。或者写一个get方法,有了这个,外界就都能访问这个值了。但是如果这个变量不想让外界访问的话,就只能用protected了。父类能否调用子类的 方法和变量,  听人说好像只能调用子类覆盖了父类的方法 . 父类永远不可能调用子类的东西。如果你指的是父类的指针指向了子类的对象的话,只要进行强制类型转换就可以了。
    Father a = new Son();
    Son b = (Son)a;
    这时候b就可以调用Son的方法了。
      

  4.   

    子类如何调用父类的private成员变量:
          在父类中添加get方法,设置为public,返回private成员变量的值,然后在子类中调用这个get方法
      

  5.   

    1.  子类如何调用父类的private成员变量 private 修饰的变量、方法,都只能被本类调用,不能被其他任何类调用的。
    2.  父类能否调用子类的 方法和变量,  听人说好像只能调用子类覆盖了父类的方法 . 
    子类可以覆盖父类的方法,可以重写父类的方法、继承父类等等,但是不能倒过来的