面向对象编程

类型系统概述

对于面向对象编程的支持,Go 语言的实现可以说是完全颠覆了以往我们对面向对象编程的认知,下面我们先通过对 Go 语言类型系统的介绍让你有一个整体的认知。 Go 语言面向对象编程设计得简洁而优雅。...

由 学院君 发布于5 months ago    浏览数: 1703    点赞数: 4

类的定义、初始化和成员方法

上篇教程我们简单给大家介绍了 Go 语言的类型系统,关于基础类型、复合类型以及值语义和引用语义我们前 面在数据类型系列里面已经基本都介绍过了,接下来,我们就与 Go 语言面向对象编程相关的特性展...

由 学院君 发布于4 months ago    浏览数: 1741    点赞数: 5

为基本数据类型添加成员方法

在 Go 语言中,你可以给任意类型(包括基本类型,但不包括指针类型)添加成员方法,但是如果是基本类型的话,需要借助 type 关键字对类型进行再定义,例如: type Integer int ...

由 学院君 发布于4 months ago    浏览数: 1224    点赞数: 7

通过组合实现类的继承和方法重写

Go 语言不是像 PHP 等传统面向编程实现那样通过 extends 关键字来显式定义子类与父类之间的继承关系,而是通过组合方式实现类似功能,显式定义继承关系的弊端有两个:一个是导致类的层级复杂...

由 学院君 发布于4 months ago    浏览数: 1256    点赞数: 5

类属性和方法的可见性

前面我们已经陆续介绍了 Go 语言中面向对象的基本特性,包括自定义类的实现、构造函数、成员方法、类的继承、方法重写等,今天我们来系统介绍下类的属性和成员方法的可见性。 在 Go 语言中,没有类似...

由 学院君 发布于4 months ago    浏览数: 1127    点赞数: 3

接口篇(一):接口定义与实现

接口在 Go 语言中有着至关重要的地位,如果说 goroutine 和 channel 是支撑起 Go 语言并发模型的基石,那么接口就是 Go 语言整个类型系统的基石。Go 语言的接口不单单只是...

由 学院君 发布于4 months ago    浏览数: 1320    点赞数: 4

接口篇(二):通过接口赋值实现接口与实现类的映射

上篇教程我们介绍了接口定义及实现,和 PHP 一样,Go 语言的接口不支持直接实例化,只能通过实现类实现接口声明的所有方法,不过不同之处在于 Go 语言接口支持赋值操作,从而快速实现接口与实现类...

由 学院君 发布于4 months ago    浏览数: 1284    点赞数: 4

接口篇(三):接口和类型查询及转化

PHP 中的接口/类型查询 在 PHP 语言中,我们可以通过类型运算符 instanceof 判断某个变量是否属于指定类或接口的实例: <?php interface I { p...

由 学院君 发布于4 months ago    浏览数: 1738    点赞数: 5

接口篇(四):通过接口组合实现接口继承

我们知道在 PHP 中支持接口继承以提高代码复用性: <?php interface A { public function foo(); } interface B ext...

由 学院君 发布于4 months ago    浏览数: 985    点赞数: 3

接口篇(五):空接口及其使用场景

熟悉 Java 的同学应该都知道,在这个号称血统最纯正的面向对象编程语言中,「万事万物皆对象」,并且所有类都继承自祖宗类「Object」,所以 Object 类型变量可以指向任何类的实例。 Go...

由 学院君 发布于4 months ago    浏览数: 912    点赞数: 7

Search Results