摘要: 面向对象编程三大特性--继承 为什么需要继承: 一个小问题,看个学生考试系统的程序extends01.go,提出代码复用的问题: 代码: package mainimport ( "fmt") //编写一个学生考试系统 //小学生type Pupil struct { Name string Age 阅读全文
posted @ 2019-08-25 16:25 我是一只忙碌的小青蛙 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 封装介绍: 封装(encapsulation) 就是把抽象出的字段和对字段的操作封装在一起,数据被保护在内部,程序的其它包只有通过被授权的操作(方法),才能对字段进行操作。 封装的理解和好处: 1)隐藏实现细节 2)提可以对数据进行验证,保证安全合理 type Person struct { Age 阅读全文
posted @ 2019-08-25 16:16 我是一只忙碌的小青蛙 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 如何理解抽象: 我们在前面去定义一个结构体的时候,实际上就是把一类事物的共有的属性(字段)和行为(方法)提取出来,形成一个物理模型(模板)。这种研究问题的方法称为抽象。 案例演示: type Account struct { AccountNo string Pwd string Balance f 阅读全文
posted @ 2019-08-25 16:07 我是一只忙碌的小青蛙 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 说明: Golang的结构体没有构造函数,通常可以使用工厂模式来解决这个问题。 看一个需求: 一个结构体的声明是这样的: package modeltype Student struct { Name string...} 因为这里的Student 的首字母S是大写的,如果我们想在其它包创建Stud 阅读全文
posted @ 2019-08-25 16:00 我是一只忙碌的小青蛙 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 步骤: 1)声明(定义)结构体,确定结构体名2)编写结构体的字段3)编写结构体的方法 学生案例: 1)编写一个Student结构体,包含name、gender、age、id、score字段,分别为string、string、int、int、float64类型。 2)结构体中声明一个say方法,返回s 阅读全文
posted @ 2019-08-25 15:56 我是一只忙碌的小青蛙 阅读(1398) 评论(0) 推荐(0) 编辑
摘要: 方法的调用和传参机制原理:(重要!) 说明:方法的调用和传参机制和函数基本一样,不一样的地方是方法调用时,会将调用方法的变量,当做实参也传递给方法。下面我们举例说明: 案例1:画出前面getSum 方法的执行过程+说明 说明: 1)在通过一个变量去调用方法时,其调用机制和函数一样。2)不一样的地方, 阅读全文
posted @ 2019-08-25 15:52 我是一只忙碌的小青蛙 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 基本介绍: 在某些情况下,我们要需要声明(定义)方法。比如Person 结构体:除了有一些字段外(年龄,姓名...),Person结构体还有一些行为比如:可以说话、跑步...,通过学习,还可以做算术题。这时就要用方法才能完成。 Golang中的方法是作用在指定的数据类型上的(即:和指定的数据类型绑定 阅读全文
posted @ 2019-08-25 15:43 我是一只忙碌的小青蛙 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 创建结构体变量和访问结构体字段 1)方式1-直接声明 案例演示:var person Person 2)方式2-{} 案例演示:var person Person = Person{} func main() { p2 := Person{} p2.Name = "tom" p2.Age = 18 阅读全文
posted @ 2019-08-25 15:35 我是一只忙碌的小青蛙 阅读(178) 评论(0) 推荐(0) 编辑
摘要: Golang语言面向对象编程说明: 1)Golang也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言。所以我们说Golang支持面向对象编程特性是比较准确的。 2)Golang没有类(class),Go语言的结构体(struct)和其它编程语言的类(class) 阅读全文
posted @ 2019-08-25 15:23 我是一只忙碌的小青蛙 阅读(295) 评论(0) 推荐(0) 编辑