Re: java大师请进

楼主: Rushia (みけねこ的鼻屎)   2024-06-06 21:47:55
※ 引述《sustainer123 (caster )》之铭言:
: 想问一下接口这概念
: 老实说我不太懂这东西的用途还有意义
: 我感觉他跟class是差不多的东西
: 另外有没有推荐的java入门书籍
: 我感觉从最基本的东西开始学起比较快
就把东西抽象阿
物件导向的东西
为了减少重复造轮子我们常常会用继承的方式来减少重复代码的攥写
但是继承很笨重如果你的基类修改了 所有继承他的类都要改
举例来说:
1.有一个类别Car被100多个类别继承
2.Car car = new Car() 出现在依赖他的类别100多次
如果:
1.你要改Car的功能,很容易对继承他的类产生不必要的影响
2.如果你的建构子 Car() 要改成 Car(Tire tire) 有 new Car() 出现的地方都要改
你要改100多次
所以:
1.我们不用继承而是用组合的方式
2.我们的依赖不new具体类而是把他当成一个接口,透过建构子或SETTER让类去自己决定
要用哪些依赖
作者: JIWP (JIWP)   2024-06-06 21:49:00
剩姆咪不会物件导向了
作者: sustainer123 (caster)   2024-06-06 21:51:00
就 原本我理解interface跟class差不多两个我都理解成python的class 所以想说用class就好
楼主: Rushia (みけねこ的鼻屎)   2024-06-06 21:54:00
不一样interface不用实作你可以只定义方法返回什么和需要什么参数 python本来就不是物件导向语言 不太能参考
作者: SecondRun (雨夜琴声)   2024-06-06 21:55:00
两个好处吧 一个是可以抽换 写测试方便
作者: sustainer123 (caster)   2024-06-06 21:55:00
我当年修oop就用python学 感觉要重新研究 哭了
作者: SecondRun (雨夜琴声)   2024-06-06 21:56:00
一个是减少改动 延伸就是DI时再决定注入什么
作者: Ceelo (hakkaman)   2024-06-06 21:56:00
之前用c++写到昏头 指标指来指去类别继承到最后都忘记原本是什么了
楼主: Rushia (みけねこ的鼻屎)   2024-06-06 21:57:00
抽象就是让改动更弹性 更容易符合开放封闭原则
作者: Ceelo (hakkaman)   2024-06-06 21:57:00
中文有推荐复习的教材吗
楼主: Rushia (みけねこ的鼻屎)   2024-06-06 21:59:00
我文章那本有中文书 网络还有康版
作者: sustainer123 (caster)   2024-06-06 22:00:00
我明天去图书馆借一下

Links booklink

Contact Us: admin [ a t ] ucptt.com