# 20155226 2016-2017-2 《Java程序设计》第4周学习总结

1.教材学习内容

  1. 封装,继承,多态,是JAVA面向对象编程的三大特性.

1.封装:是把客观事物封装成抽象的类,而且类能够把本身的数据和方法只让可信的类或者对象操做,对不可信的进行信息隐藏。封装是类的特征之一,像一些私有的,别的类不能够访问,都有访问权限,比较安全。html

2.继承:指这样一种能力,它可使用现有类的全部功能,并在无需从新编写原来的类的状况下对这些功能进行扩展。java

==继承有三种方式==c++

  • 实现继承
  • 接口继承
  • 可视继承。

3.多态:简单的说就是,容许将子类类型的指针赋值给父类类型的指针。编程

==实现多态有二种方式==c#

  • 方法覆盖
  • 方法重载
    这里举一个书上的例子(这个游戏RPG例子我以为颇有成就感,知道游戏的编制方法,经过对这四个代码的充分理解,我终于搞清楚了什么是继承。):
    第一个是能够运行的RPG软件。

    被继承的代码

    剑士的定义

    魔法师的定义

    虽然SwordsMan与Magician没有定义getName()、getLevel()、与getBlood()等方法,但从Role继承了这些方法,因此就如同例子中能够直接使用。
    继承的好处就是若要将name、level、blood改成其余名称,那就只要修改Role.java就能够了,只要是继承Role的子类都无须修改。
    最后的运行结果

抽象类与接口的区别

- 抽象类是类,它的子类不能再继承其它类了,但能够实现一个和多个接口。接口不是类,它的子接口能够继承多个接口。设计模式

  1. 抽象类中是能够有不用abstract修饰的方法,而接口中只能有抽象方法,即方法都要用abstract修饰。
  2. 抽象类能够实现接口,而接口是不能继承或实现抽象类的。

有人说,接口相似于抽象类,这是指它提供的方法只有方法头,而抽象类也有这样的状况。但实际上,区别是很大的,接口提供了一种JAVA中类不能多继承时引发的不便的一种解决方案,提升了灵活性。同时,接更有利于实现程序的扩展。数组

S.O.L.I.D原则

S.O.L.I.D.的设计原则
S.O.L.I.D.设计原则是一组面向对象设计的最佳实践。GoF设计模式符合这些原则以这样或那样的方式。术语S.O.L.I.D.从罗伯特C。马丁(朋友亲切地叫他鲍勃叔叔)在敏捷原则的著做,模式的名字5设计原则和实践在c#中收集的第一个字母。这些设计将遵循的原则。安全

1单一责任原则(SRP)函数

SRP原则和SoC原则保持高度的一致性。它要求每个对象都应该只有一个元素改变了且只有一个职责。这一原则,能够避免单个类(如瑞士军刀在软件领域)。每一个类能够保持简洁,能加强系统的可读性和可维护性。学习

2开闭原则((OCP)

(OCP原则要求类应该对扩展开放,修改应该关闭,这样能够添加新功能和扩展类不改变类的内部行为。这一原则试图避免破坏现有类和其余类依赖它,由于这可能会致使应用程序中的错误和错误的连锁反应。

3 Liskov替换原则(LSP)

太阳能发电原理指出,应该可以使用任何继承类替换父类和维持其行为不变。这一原则是一致的(OCP原则:确保继承类不影响父类的行为,换句话说,继承类必须可以取代他们的基类。

4接口隔离原则(ISP)

有关ISP原则是合同责任将被分为几个方法分组、分组方法和分配不一样的接口,所以,客户端不须要实现一个大接口和一群不使用。这背后的目的原则是使用相同的接口的类只须要实现一个特定的方法,而不是一个大单的实现方法的接口。

5依赖性倒置原则(浸)

浸渍的目的原则是独立编写的类的具体实现,这类依赖于抽象类或接口。它提倡面向接口(而不是实现)编程,确保代码紧密耦合与一个特定的实现,从而提升系统的灵活性。

6依赖注入(DI)和控制反转(IoC)原则

与倾角密切相关的是国际奥委会DI原理和原则。DI提供底层类或奴隶类的构造函数,方法或属性。使用DI原则,这些奴隶类能够倒到接口或抽象类,从而造成了一个松散耦合的系统可测试性高、容易修改。

****垃圾回收机制****

Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。

Object 数据类型

Object 数据类型保存引用对象的 32 位(4 字节)地址。能够为 Object 的变量分配任何引用类型(字符串、数组、类或接口)。 Object 数据类型能够指向任意数据类型的数据,包括您的应用程序识别的任意对象实例。当在编译时不知道变量可能指向哪一种数据类型时,就使用 Object。

Enum

学习C / c++语言,应该的枚举类型。Enum一般是用来表示一组相同类型的常量。如性、日期、月、颜色等。为这些属性在恒定的好处很明显,不只能保证单一的状况下,它能够用来取代“= =”=。是一个好习惯。JDK1.5没有这种类型的枚举,当接口的通用取代常数。JavaEnum,你能够更接近常数。

==如何使用Java Enum 2==

简单的用法:JavaEnum简单用法一般是用来表示一组经常使用的常数,能够用来表明一个类的相同类型的常量值。

如:sex:

public enum SexEnum {

man、woman

};

color:

public enum color {

red,blue,green,black

}

枚举对象中的值必须是惟一的。
您可使用枚举类型名来引用常量,例如SexEnum。男,Color.RED。

教材中解决的问题

1. print与println的区别

println打印的时候自带了换行,下一次在打印的时候从下一行开始打印。

print不换行,下次打印的时候在此次打印的东西后面直接打印。

代码调试中的问题和解决过程

本周代码托管截图

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 50/50 2/2 9/20
第二周 50/100 2/4 10/38
第三周 100/200 3/7 8/60
第四周 217/317 2/9 18/90

参考:软件工程软件的估计为何这么难软件工程 估计方法

参考资料

相关文章
相关标签/搜索