首页技术文章正文

关于Go语言【面向对象】心得分享与多态理解问题求助【黑马区块链培训】

更新时间:2019年08月01日 19时21分46秒 来源:黑马程序员

黑马中级程序员课程

Go语言的面向对象,实际上并不是完全体的面向对象,因为Go语言中并没有完全的类的概念而是用了一种叫做struct的结构体充当类。 面向对象的基本思想,实际上是对一类事物共性的抽象,比如一类人,学生类,教师类,洗衣机类。 人类都有共同的属性和行为,对应到面向对象里来说,就可以抽象为属性和方法。 而面向对象的意义通俗点来说就是提高了代码本身的复用性, 比如我今天要洗衣服:先把脏衣服收集起来-->放洗衣液-->揉一揉-->搓一凑-->清水洗一洗-->甩干/拧干-->晾起来 而面向对象的洗衣服:先写一个洗衣机(放洗衣液-->揉一揉-->搓一凑-->清水洗一洗-->甩干/拧干)           过程就变成了 :  先把脏衣服收集起来-->放进洗衣机-->晾起来 也许抽象一个洗衣机很麻烦,但是以后每次洗衣服我只需要复用这个洗衣机就好了。 这个思想在处理IO流操作的时候也十分受用:我做一个文件传输,把文件所有的传输过程都封装好,最后用的时候只需要自己输入目标文件的url就可以轻松实现所有的过程 我也试着了解了一些java的面向对象思想,他们会封装一类事物到一个.java文件下,来描述这样的类。 比如人类共同的特性就是有两个耳朵,一个鼻子,而进而创建一个学生类,学生类共同的行为就是上课,同时又是人类,这样我们就可以通过extends Person类的方式来继承人类的两个耳朵和一个鼻子,通过这样的方式来实现面向对象的一大特征:继承 而我使用学生方法的时候就可以Student stu = new Student();创建一个Student类的对象,就能调用其下的learn方法,如果这个学生类继承了Person类,你也可以调用Person类下的方法 而在Go语言中,把结构体struct充当类,通过创建一个该结构体类型的变量来创建对象stu1。也是通过stu1.属性的形式来调用该结构体下的属性,不同的是结构体是无法存方法的,因此使用写在结构体外的、绑定stu1的函数来描述student的方法,比如 : type Student1 struct {    name string    age int } func (stu Student)Study{   fmt.Println("这是stu的方法") } 通过这样的方式来实现面向对象的形式我还是第一次见到的,以至于我在听课之后理解了很久,并查阅了文档。 而Go的继承更加的简单方便,只需要 在结构体内写上需要继承的结构体名就ok了,比如: type Person struct{   height int   weight int } type Student1 struct {    Person    name string    age int } 这样就可以实现继承了。 关于多态的实现我放到最后说(以下话语如有不当,欢迎指正): 其实我对多态的理解仍然不是很深刻,因为Go的多态是通过接口来实现的,Go语言的接口是个神奇的类型,当你传入什么类型的参数时,接口就会变成什么类型。 Go语言的多态是通过 接口传入参数的类型 来通过 接口内的抽象方法 进而 实现接口下的方法。

初级程序员与中级程程序员的差距

现有的IT培训机构通常是4至6个月的课程培养初级程序员,而初级程序员与中级程序员的差别,就在于后者比前者多了3-4年工作经验,每年会接触1-2个项目,中级程序员比初级程序员多了相关的行业经验和项目经验。

 

企业需要中级及以上程序员

IT行业技术不断发展,IT行业用人单位对人才的要求越来越高,IT培训机构4—6个月的课程产品要培养出企业需要的人才越来越难。

 

中级程序员课程

传智播客已经进行了课程产品升级,将定位中级程序员培养。推出多领域实战项目课程,将课程时长延长至9至12个月,采用线上和线下混合式教学,布局中级程序员人才培养,学费不变。传智播客还公布了43个主流行业项目,涉及Java、大数据、Python、PHP和前端等5个技术领域。【点击页面咨询按钮,了解中级程序员课程】

推荐了解热门学科

java培训 Python人工智能 Web前端培训 PHP培训
区块链培训 影视制作培训 C++培训 产品经理培训
UI设计培训 新媒体培训 软件测试培训 Linux运维
大数据培训 智能机器人软件开发


黑马程序员热门视频教程

Python入门教程完整版(懂中文就能学会) 零起点打开Java世界的大门
C++| 匠心之作 从0到1入门学编程 PHP|零基础入门开发者编程核心技术
Web前端入门教程_Web前端html+css+JavaScript 软件测试入门到精通


在线咨询 我要报名
和我们在线交谈!