类的封装 继承和多态

package 银行账户管理;
import java.text.SimpleDateFormat;   //常用日期操作工具类
import java.util.Calendar;     //使用默认时区和语言环境获得一个日历
import java.util.Date;
public class yinhang {
  private String acount;     //账户
  private String name;   //姓名
  private String time;   //时间
  private String id;   //身份证
  private double num;   //账户金额
  public String getAcount() {
   return acount;
  }
  public void setAcount(String a) {
   acount = a;
  }
  public String getName() {
   return name;
  }
  public void setName(String n) {
   name = n;
  }
  public String getTime() {
   return time;
  }
  public void setTime(String t) {
   time = t;
  }
  public String getId() {
   return id;
  }
  public void setId(String ID) {
   id = ID;
  }
  public double getNum() {
   return num;
  }
  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 银行账户管理;
import java.util.Scanner;
public class Main {
 public static void main(String[] args) {
  yinhang bank=new yinhang();
  bank.setAcount("6666");
  bank.setId("123456789");
  bank.setName("by");
  bank.setNum(10000);
  Scanner sc=new Scanner(System.in);
  System.out.println("请输入你的账户号");
  String acount=sc.nextLine();
  System.out.println("请输入密码");
  String pwd=sc.nextLine();
  if(pwd.equals("123456")&& acount.equals(bank.getAcount())){//如果密码正确才能进行以下操作
    while(true){
     System.out.println("当前你的账户金额为:"+bank.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 一个
    String option=scan.nextLine();
    
    switch(option)          //选择服务

{    
    case "1" :
     System.out.println("请输入你要存的钱");
     double num=scan.nextDouble();
     bank.cunkuan(num);
     System.out.println("当前金额为"+bank.getNum());
     break;
    case "2":
     System.out.println("请输入你要取的钱");
     double num1=scan.nextDouble();
     bank.qukuan(num1);
     System.out.println("当前余额为"+bank.getNum());
     break;
    case "3":
     System.out.println("开户时间为:");
     System.out.println(bank.kaiHuTime());
     break;
    
    case "4":
     System.out.println("当前账户金额为:"+bank.getNum());
     break;
     
    case "5":
     System.out.println("退出系统");
     System.exit(0);
     break;
     default : System.out.println("对不起,您的输入有误");
     break;
    }
     
   }
  }else{
   System.out.println("密码或账户不正确,请重新输入");
   
  }
  
 }
 }

原文地址:https://www.cnblogs.com/langsblog/p/8977435.html

时间: 2024-08-13 23:08:50

类的封装 继承和多态的相关文章

黑马程序员--oc 类的封装 继承 和多态

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 成员变量的命名规范: 成员变量名要以 _开头 作用: 1.可以让成员变量和get方法的名称区分开 2.可以和局部变量区分开,一看到以_开头的变量一般都是成员变量 封装: 在定义成员变量时,尽量不要用@public 这种写法 ,而是使用set方法和get方法 @interface Student : NSObject { int _age; } /* set方法: 作用:提供一个方法给外界设置成

day33 序列类型,绑定方法,类方法,静态方法,封装继承和多态

Python之路,Day20 = 序列类型,绑定方法,类方法,静态方法,封装继承和多态 序列是指有序的队列,重点在"有序". 一.Python中序列的分类 Python中的序列主要以下几种类型: 3种基本序列类型(Basic Sequence Types):list.tuple.range 专门处理文本的附加序列类型(Text Sequence Types):str 专门处理二进制数据的附加序列类型(Binary Sequence Types): bytes.bytearray.mem

Mysql数据库大量删除操作及谈面向对象中的封装继承和多态原理(图)

Mysql数据库大量删除操作及谈面向对象中的封装继承和多态原理(图)最近进行数据库操作,遇到一个问题,就是大量删除一个数据表中的数据后,由于设定了id是自增的,导致再插入时,默认生成的id会很大,这个时候想要再次插入新的数据,应该怎么办呢?1.明确目前最后一个id的大小select id from tags order by id DESC limit 0,1; 假设返回的是9,则设置数据表从10开始自增 2.修改这个数据表从10开始自增alter table tags auto_increme

面向对象:封装继承和多态、接口

1.多态 定义:不同对象对于同一个方法(Cut)调用表现出不同行为多态性主要是靠重写和隐藏来实现 a.(父类引用指向子类对象)b.(父类类型做参数,传递子类对象)自定义方法参数是父类类型 传递的实参是子类对象c.(父类类型作返回类型,return子类对象)自定义方法的返回类型是父类类型,return是类对象注:都是把子类对象赋给父类类型 举例: 添加乐器类using System;using System.Collections.Generic;using System.Linq;using S

C++之封装继承和多态

C++中非常重要的概念,尤其是相对于C语言而言,也是其具有如此高的工程使用性的重要原因. 封装 所谓封装是将某些东西隐藏起来,让外界无法直接使用,而必须通过某些特定的方式才能访问.也即是,将抽象得到的数据和行为(类似于属性和方法)结合构成一个有机整体,将数据与操作数据的函数构成类,其中数据和函数都是类的成员. 其目的是将对象的使用者和设计者隔离开来,提高软件的可维护性和可修改性,使用者不必了解具体的实现细节而只是通过外部接口及特定的访问权限使用类成员,从而增强了安全性且简化了编程,也使得不同类之

java类的封装 继承 多态

1.猜数字小游戏 package cn.jiemoxiaodi_02; import java.util.Scanner; /** * 猜数字小游戏 * * @author huli * */ public class GuessNumberDemo { public static void main(String[] args) { int number = (int) (Math.random() * 100) + 1; while (true) { System.out.println("

Java中封装继承和多态

封装: 封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度. 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性. 访问修饰符有public,private,protected,默认四种. 通过private将类封装起来,防止被随意更改,通过写public的get,set方法让别人调用.

php面向对象 封装继承多态 接口、重载、抽象类、最终类总结

1.面向对象 封装继承多态  接口.重载.抽象类.最终类 面向对象 封装继承多态  首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2.什么是对象?从类中拿到的具有具体属性值得个体,称为对象,对象是一个具体的个体 所以,面向对象即我们专注对象来处理问题,通过从一个个具有属性和功能的类中拿到对象来处理问题. 下面我们再来细说下面向对象的三大特征:继承/封装/多态 一.继承 在PHP中我们主要通关E

python 继承和多态

在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base class.Super class). 比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直接打印: class Animal(object): def run(self): print 'Animal is running...' 当我们需要编写Dog和Cat类时,就可以直接从Animal