基本介绍
Golang仍然有面向对象编程的继承、封装、多态三大特性,只是实现方式和其它OOP语言不一样
面向对象编程思想——抽象,实际上就是把一类事物的共有属性(字段)和行为(方法)提取出来,形成一个物理模型(模板),这种研究问题的方法成为抽象。
多态是通过接口来体现的
面向对象编程思想——抽象
代码
package mainimport "fmt"// 定义一个 Account 结构体type Account struct {AccountNo stringPwd stringBalance 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 += moneyfmt.Printf("存款成功,交易后余额: %v \n", account.Balance)}// 2.取款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 -= moneyfmt.Printf("取款成功,交易后余额: %v \n", account.Balance)}// 2.查询余额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: "gs123456",Pwd: "666666",Balance: 100.0,}// 查询余额account.Query("666666")// 存款account.Deposite(100.2, "666666")// 取款account.WithDraw(50, "666666")}
