类的封装,继承与多态。

Posted 兮夜1234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的封装,继承与多态。相关的知识,希望对你有一定的参考价值。

package yh;
import java.text.SimpleDateFormat;//常用日期操作工具类
import java.util.Calendar;//使用默认时区和语言环境获得一个日历
import java.util.Date;
public class yh {
private String name;//姓名
private String id;//身份
public yh(String name, String id) {
 this.name=name;
 this.id=id;
 
}
public String getName() {
 return name;
}
public void setName(String n) {
 name = n;
}
public String getId() {
 return id;
}
public void setId(String ID) {
 id = ID;
}
}
class yhcaozuo extends yh{
 private String time;//时间
 String acount;//账户
 private double num;
 public yhcaozuo(String name,String id,String time,String acount,double num)
 {
  super(name,id);
  this.time=time;
  this.acount=acount;
  this.num=num;
  
 }
 public String getTime() {
   return time;
  }
  public void setTime(String t) {
   time = t;
  }
 public String getAcount() {
   return acount;
  }
  public void setAcount(String a) {
   acount = a;
  }
    public void setNum(double m) {
  num = m;
 }
 public void cunkuan(double m){
  num=num+m;
 }
 //取款方法
 public void qukuan(double m){
  if(m>num){
   System.out.println("余额不足,不能取款");
  }else{
   num=num-m;
  }
 }
 //显示开户时间的方法
 public String kaiHuTime(){
  Date currDate=Calendar.getInstance().getTime();
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  this.time=sdf.format(currDate);
  return time;
 }
 //获得账上金额的方法
 public double GetAcountNum(){
  return num;
 }
}

package zyh;
import java.util.Scanner;

import yh.yh;

public class zyh {

 public static void main(String[] args) {
   yh bank=new yh("lucy","101");
   yhcaozuo bank1 = null;
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入你的账户号");
    String acount=sc.nextLine();
    System.out.println("请输入你的密码");
    String pwd=sc.nextLine();
    if(pwd.equals("12345")&& acount.equals(bank1.getacount())){//如果密码正确才能进行以下操作
      while(true){
       System.out.println("当前你的账户金额为:"+bank1.getnum()+"\n请输入以下操作:");
       System.out.println("1:存款");
       System.out.println("2:取款");
       System.out.println("3:显示开户的时间");
       System.out.println("4:获取账号的金额");
       System.out.println("5:退出当前账户");
      Scanner scan=new Scanner(System.in);//同一个变量sc之间可能会有影响 可以重新new 一个
      int ch=scan.nextInt();
      switch(ch){//选择服务
      case 1:
       System.out.println("请输入你要存的钱");
       double num=scan.nextDouble();
       bank1.cunkuan(num);
       System.out.println("当前金额为"+bank1.getnum());
       break;
      case 2:
       System.out.println("请输入你要取的钱");
       double num1=scan.nextDouble();
       bank1.cunkuan(num1);
       System.out.println("当前余额为"+bank1.getnum());
       break;
      case 3:
       System.out.println("开户时间为:");
       System.out.println(bank1kaiHuTime());
       break;
     
      case 4:
       System.out.println("当前账户金额为:"+bank1.getnum());
       break;
      
      case 5:
       System.out.println("退出系统");
       System.exit(0);
       break;
       default : System.out.println("对不起,您的输入有误");
       break;
      }
      
     }
    }else{
     System.out.println("密码或账户不正确,请重新输入");
    
    }
   
   }

 private static char[] bank1kaiHuTime() {
  // TODO Auto-generated method stub
  return null;
 }
}

以上是关于类的封装,继承与多态。的主要内容,如果未能解决你的问题,请参考以下文章

Python编程基础19:封装继承与多态

Java编程 实现类的继承与多态 写一个动物类。成员变量为动物的种类,成员方法是动物叫声。

python基础之继承原理,多态与封装

Python学习之旅---封装与反射(类的相关知识,面向对象三大特性:继承-多态-封装)

详细的解释下类的封装性,抽象性,继承性和多态性。

二 面向对象三大特性