文章目录


封装
  • 隐藏实现细节,需要通过被授权的操作方法操作数据;
  • 可以对数据进行验证保证安全合理;
go 实现封装
  • 结构体、字段的首字母小写(实际开发时没那么严格,因为封装就没那么严格)
  • 提供首字母大写的 get/set 方法操作属性/字段
继承
  • 字段和方法的重用;
  • go 中使用 匿名结构体实现继承机制;
  • 完全访问:结构体可以使用嵌套匿名结构体的所有字段和方法,首字母大写、小写的字段、方法都可以使用。
  • 简化访问:匿名结构体字段的访问可以简化;本结构体有指定的字段时直接使用,没有时去继承的结构体中查找;
  • 就进访问:当结构体和 匿名结构体具有相同的字段或者方法时,编译器采用就进访问原则,如果要访问匿名结构体的字段和方法,可以通过匿名结构体名来区分;
  • 支持多继承:一个结构体中嵌套多个匿名结构体࿰