面向对象编程思想-抽象

如何理解抽象:

我们在前面去定义一个结构体的时候,实际上就是把一类事物的共有的属性(字段)和行为(方法)提取出来,形成一个物理模型(模板)。这种研究问题的方法称为抽象。

案例演示:

type Account struct {
  AccountNo string
  Pwd string
  Balance float64
}

//方法
//1.存款
func (account *Account) Deposite(money float64, pwd string) {
  //看下输入的密码是否正确
  if pwd != account.Pwd {
    fmt.Println("您输入的密码不正确")
    return
  }

  //看看存款金额是否正确
  if money <= 0 {
    fmt.Println("您输入的金额不正确")
    return
  }

  account.Balance += money
  fmt.Println("存款成功")
}

//取款
func (account *Account) WithDraw(money float64, pwd string) {
  //看下输入的密码是否正确
  if pwd != account.Pwd {
    fmt.Println("您输入的密码不正确")
    return
  }

  //看看取款金额是否正确
  if money <= 0 || money > account.Balance {
    fmt.Println("您输入的金额不正确")
    return
  }

  account.Balance -= money
  fmt.Println("取款成功")
}

//查询余额
func (account *Account) Query(pwd string) {
  //看下输入的密码是否正确
  if pwd != account.Pwd {
    fmt.Println("您输入的密码不正确")
    return
  }

  fmt.Printf("你的账号为=%v 余额=%v \n", account.AccountNo, account.Balance)
}

func main() {

  account := Account{
    AccountNo : "gs1111",
    Pwd : "666666",
    Balance : 100.0,
  }
  account.Query("666666")
  account.Deposite(200.0, "666666")
  account.Query("666666")
  account.WithDraw(150.0, "666666")
  account.Query("666666")
}

猜你喜欢

转载自www.cnblogs.com/green-frog-2019/p/11408224.html