第一次总结
第一次总结
学习java时间已经有一个月了,对于这种面向对象语音,现在已经有了初步的了解
刚开始学的基础语言与之前学过的非常相似,所以前学习的难度不是很大,但很快进入了这门课的核心部分,面对对象思想。现在我就对前一段时间的学习进行一下总结。
刚开始的第一次作业,虽然知识点不是很难,但题目却有点难做,比较考验思维能力,
花费了比较久的时间,之后的第二次作业跟第一次的知识点差不多,但难度不是很大,前两次作业考验的都是基础知识,学起来不是特别费劲,但第三次作业就不同与之前两次,刚开始做的时候还没完全学通,后面听过慕课和老师的讲解,才对面对对象思想有了一定了解,
但是解题仍然费了很多时间,前两次作业都是以一种面向过程的思想去做的,到了第三次作业,才学会了用面馆对象思想去做,在每次作业过程中,每次第一次提交总是不尽人意,都不能拿到满分,每次编程都漏掉很多细节,要经过很多次更改,才能完善每次作业,遇到实在不懂得地方,就问同学或者网上自己解决,对于每次编程,自己都应该严谨,不能太马虎,否则只会前功尽弃,相对于每次作业花费的时间,第一和第三次花费的时间比较多,第二次作业比较简单的缘故,花费的时间是最少的。
对于面向对象思想,面向对象,首先你需要知道对象的概念。对象,就是类中某个具体的实例,比如人类张三,李四就是类的某个对象,他们有自己独特的个性。 面向对象,看名字它是注重对象的。当解决一个问题的时候,面向对象会把事物抽象成对象的概念,就是说这个问题里面有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。而面向过程,为了解决问题 ,拆成一个个方法,是没有对象去调用的。 通过一个个方法的执行解决问题。之前的编程思想,都是面向过程,但之后随着软件的增大,这种思想已经不能满足需求,则开创了面向对象这种思想,对于这两种思想,我查阅了一些资料,比较了两者的优缺点
面向过程:
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
面向对象:
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:性能比面向过程低
面向对象这种思想有着几个原则,单一职责原则, 其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而大大损伤其内聚性和耦合度。通常意义下的单一职责,就是指只有一种单一功能,不要为类实现过多的功能点,以保证实体只有一个引起它变化的原因。Liskov替换原则, 其核心思想是:子类必须能够替换其基类。这一思想体现为对继承机制的约束规范,只有子类能够替换基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基础。在父类和子类的具体行为中,必须严格把握继承层次中的关系和特征,将基类替换为子类,程序的行为不会发生任何变化。同时,这一约束反过来则是不成立的,子类可以替换基类,但是基类不一定能替换子类。
Liskov替换原则,主要着眼于对抽象和多态建立在继承的基础上,因此只有遵循了Liskov替换原则,才能保证继承复用是可靠地。实现的方法是面向接口编程:将公共部分抽象为基类接口或抽象类,通过Extract Abstract Class,在子类中通过覆写父类的方法实现新的方式支持同样的职责。
Liskov替换原则是关于继承机制的设计原则,违反了Liskov替换原则就必然导致违反开放封闭原则。
这一个月来,我已经对面向对象这种思想有了初步了解,但还欠缺很多东西,我必须进一步加强学习,争取把这门课程学好

浙公网安备 33010602011771号