Fork me on GitHub

(三十二)golang--面向对象之封装

封装:把抽象出来的字段和对字段的操作封装在一起,数据被保护在内部,程序的其它包只有通过被授权的操作(方法),才能对字段进行操作。

封装的好处:

(1)隐藏实际的细节;

(2)可以对数据进行验证,保证安全合理;

如何体现封装:

(1)对结构体的属性进行分装;

(2)通过方法,实现封装;

封装的实现步骤:

(1)将结构体、字段(属性)的首字母小写,其他包不能够使用;

(2)结构体所在包提供一个工厂模式的函数,首字母大写,类似于一个构造函数;

(3)提供一个首字母大写Set方法,用于对属性判断并赋值;
  func (var 结构体类型名) SetXXX(){

    var 字段 = 参数

  }

(4)提供一个首字母大写的Get方法,用于获取属性的值;

  func (var 结构体类型名) GetXXX(){

    return var 字段

  }

小例子:

posted @ 2019-11-23 16:06  西西嘛呦  阅读(356)  评论(0编辑  收藏  举报