首页
学习
活动
专区
工具
TVP
发布

学院君的专栏

专栏作者
310
文章
686449
阅读量
51
订阅数
Go 面向对象编程篇(八):空接口、反射和泛型
熟悉 Java 的同学应该都知道,在这个号称血统最纯正的面向对象编程语言中,「万事万物皆对象」,并且所有类都继承自祖宗类「Object」,所以 Object 类型变量可以指向任何类的实例。
学院君
2023-03-03
7220
Go 面向对象编程篇(七):类型断言
在 Java、PHP 等语言的面向对象编程实现中,提供了 instanceof 关键字来进行接口和类型的断言,这种断言其实就是判定一个对象是否是某个类(包括父类)或接口的实例。
学院君
2023-03-03
4270
Go 面向对象编程篇(四):类属性和成员方法的可见性
在前面几篇教程中,学院君已经陆续给大家介绍了 Go 语言面向对象编程的基本实现,包括类的定义、构造函数、成员方法、类的继承、方法重写等,今天我们接着来介绍下类属性和成员方法的可见性。
学院君
2023-03-03
3870
Go 面向对象编程篇(三):通过组合实现类的继承和方法重写
在前面两篇教程中,学院君已经介绍了 Go 语言不像 Java、PHP 等支持面向编程的语言那样,支持 class 之类的关键字来定义类,而是通过 type 关键字结合基本类型或者结构体来自定义类型系统,此外,它也不支持通过 extends 关键字来显式定义类型之间的继承关系。
学院君
2023-03-03
7960
Go 面向对象编程篇(一):类型系统概述
简洁之处在于,Go 语言并没有沿袭传统面向对象编程中的诸多概念,比如类的继承、接口的实现、构造函数和析构函数、隐藏的 this 指针等,也没有 public、protected、private 之类的访问修饰符。
学院君
2023-03-03
3120
Go 函数式编程篇(七):基于管道技术实现函数的流式调用
管道(Pipeline)这一术语来源是 Unix 的 Shell 命令行,我们可以使用管道连接符 | 通过组合简单的命令实现强大的功能,比如我们想要从系统进程列表中筛选出 nginx 进程,可以这么做:
学院君
2023-03-03
5010
CSS 预编译语言 Sass 快速入门教程
CSS 作为一门样式语言,语法简单,易于上手,但是由于不具备常规编程语言提供的变量、函数、继承等机制,因此很容易写出大量没有逻辑、难以复用和扩展的代码,在日常开发使用中,如果没有完善的编码规范,编写的 CSS 代码会非常冗余且难以维护。
学院君
2020-10-30
7.1K0
Blade 模板引擎进阶篇
除了基本的数据渲染及控制结构指令之外,Blade 还提供了模板继承和组件引入功能,从而允许视图模板之间继承、覆盖及引入。
学院君
2020-10-30
3.7K0
通过对象组合水平扩展 PHP 类功能
通过前面的学习,我们已经知道,通过类继承可以扩展类的功能,但是随着系统越来越复杂,如果仅仅通过类继承的方式扩展类的功能,而 PHP 又是单继承机制,会导致类的层级越来越深,系统也会随之变得越来越臃肿,而且新增子类来扩展功能这种方式本身也不太灵活,子类和父类相互绑定,改变父类方法会影响子类的行为,这也会让系统的可维护性大大降低。
学院君
2020-07-21
1.3K0
PHP 面向对象篇:类与对象、访问控制
PHP 5 完全重写了对象模型,从而使得自 PHP 5 开始,PHP 具备了完整的面向对象编程能力。面向对象编程(即 Object Oriented Programming,简称 OOP)是一种计算机编程架构,和基于函数构建程序(也被称作函数式编程)不同,面向对象编程的思想是在程序中包含各种独立而又相互调用的对象,每一个对象都应该能够接受数据、处理数据(通常通过对象方法实现)并将数据传达给其它对象,当我们下达指令时,不再是调用函数,而是指定对象的方法。因此,在面向对象编程中,对象是程序的基本单元,一个对象包含了数据和操作数据的函数。
学院君
2020-07-13
2.4K0
PHP 面向对象篇:抽象类与接口(下)
和很多其他语言面向对象编程实现一样,在 PHP 中,接口也是通过 interface 关键字声明的,接口中可以定义多个方法声明,这些方法声明不能有任何实现,并且这些方法的可见性都应该是 public,因为接口中的方法都要被其他类实现。例如,我们可以通过接口方式定义 Car(在 php_learning/oop 目录下创建 interface.php 来保存本教程代码):
学院君
2020-07-13
4680
PHP 面向对象篇:抽象类与接口(上)
上篇教程学院君给大家介绍了父子类之间的继承与方法重写,并且提到类作为参数类型声明时,子类实例可以转化为父类,但父类实例不能转化为子类,这是因为,子类必然包含了父类方法,反之则不一定。
学院君
2020-07-13
5830
PHP 面向对象篇:继承、封装与多态
上篇教程学院君给大家介绍了 PHP 面向对象编程中的基本概念 —— 类与对象,今天我们在此基础上来看看面向对象的三大特性:继承、封装与多态。
学院君
2020-07-13
9410
Go 语言面向对象教程 —— 接口篇:接口组合
在上述代码中,我们定义了两个 PHP 接口:A 和 B,其中接口 B 继承自 A,这样一来,如果某个类实现了接口 B,则必须实现这两个接口中声明的方法,否则会报错。
学院君
2019-08-08
1.5K0
Go 语言面向对象教程 —— Go 语言的类型系统
对于面向对象编程的支持,Go 语言的实现可以说是完全颠覆了以往我们对面向对象编程的认知,下面我们先通过对 Go 语言类型系统的介绍让你有一个整体的认知。
学院君
2019-08-08
5190
Go 语言面向对象教程 —— 通过组合实现类的继承
Go 语言不是像 PHP 等传统面向编程实现那样通过 extends 关键字来显式定义子类与父类之间的继承关系,而是通过组合方式实现类似功能,显式定义继承关系的弊端有两个:一个是导致类的层级复杂,另一个是影响了类的扩展性,设计模式里面推荐的也是通过组合来替代继承提高类的扩展性。
学院君
2019-08-08
9130
Go 语言面向对象教程 —— 类的定义、初始化和成员方法
上篇教程我们简单给大家介绍了 Go 语言的类型系统,关于基础类型、复合类型以及值语义和引用语义我们前 面在数据类型系列里面已经基本都介绍过了,接下来,我们就与 Go 语言面向对象编程相关的特性展开介绍。
学院君
2019-08-08
6.4K0
Go 语言面向对象教程 —— 为基本类型添加成员方法
在 Go 语言中,你可以给任意类型(包括基本类型,但不包括指针类型)添加成员方法,但是如果是基本类型的话,需要借助 type 关键字对类型进行再定义,例如:
学院君
2019-08-08
8050
Go 语言面向对象教程 —— 接口篇:接口定义与实现
接口在 Go 语言中有着至关重要的地位,如果说 goroutine 和 channel 是支撑起 Go 语言并发模型的基石,那么接口就是 Go 语言整个类型系统的基石。Go 语言的接口不单单只是接口,下面就让我们一步步来探索 Go 语言的接口特性。
学院君
2019-08-08
7950
Go 语言面向对象教程 —— 接口篇:接口和类型查询及转化
在 PHP 语言中,我们可以通过类型运算符 instanceof 判断某个变量是否属于指定类或接口的实例:
学院君
2019-08-08
1K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档