设计模式——面向对象基础

这篇博客的意义就是复习一下面向对象的一些基础内容,以帮助我更好的学习设计模式。

概念

面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

类与实例

对象(Object)是一个自包含的实体,用一组可识别的特性和行为来标识。

类是具有相同的属性和功能的对象的抽象的集合。
实例就是一个真实的对象。实例化就是创建对象的过程,使用new关键字来创建。

举个例子来说吧:动物是一个大类,而狗就是它的一个对象;一个银行帐户(Account)是一个class的话,可以把他的利息设为类变量(static float interest),而持有人是实例变量(String name), 这样只要改变 Account.interest就可以把所有人的利息都该了,而持有人的姓名则是属於单独的帐户的。

在类中需要注意:

       1.类名称的首字母要大写,多个单词则各个首字母大写;

       2.对外公开的方法需要用‘public’修饰符。

构造方法与方法重载

构造方法又称构造函数,其实就是对类进行初始化。构造方法与类同名,无返回值,也不需要void,在new时候调用。

方法重载提供了创建同名的多个方法的能力,但这些方法需使用不同的参数类型。

方法重载时需要注意:

    1.两个方法必须要方法名相同,但参数类型或个数必须要有所不同;
    2.方法重载可在不改变原方法的基础上,新增功能。

封装

每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装。比如一台电视机、风扇……的能够完成所有操作的东西。
优点:

       1.良好的封装能够减少耦合;

       2.类内部的实现可以自由的修改;

       3.类具有清晰的对外接口。

继承

对象的继承代表了一种‘is-a’的关系,如果两个对象A和B,可以描述为‘B是A’,则表明B可以继承A。还可以理解为是对被继承者的特殊化,因为它除了具备被继承者的特性外,还具备自己独有的个性。

其实我认为这部分内容是很好理解的,比如人与教师、车与轿车、鱼与比目鱼……,这些例子都是说明了继承的关系。

多态

多态是指同样的信息被不同类型的对象接收时导致完全不同的行为,表示不同的对象可以执行相同的动作,但要通过它们自己的实现代码来执行。

特点:

       1.子类以父类的身份出现;

       2.子类在工作时以自己的方式来实现;

       3.子类以父类的身份出现时,子类特有的属性和方法不可以使用;

       4.父类必须将该成员声明为虚拟的(这是为了使子类的实例完全接替来自父类的类成员);

       5.子类可以选择使用override关键字,将父类实现替换为它自己的实现。

接口

接口是把隐式公共方法和属性组合起来,以封装特定功能的一个集合。一旦类实现了接口,类就可以支持接口所指定的所有属性和成员。比如灯的开关就是一个接口,它让灯与外界连接起来。

特点:

    1.声明接口在语法上与声明抽象类完全相同;

    2.实现接口的类就必须要实现接口中所有的方法和属性;

    3.一个类可以支持多个接口,多个类也可以支持相同的接口。
规范:

    接口的命名,前面要加一个大写字母”I",这是规范。
注意:

    接口要用interface声明,而不是class,接口名称前要加“I",接口中的方法或属性前面不能

    有修饰符、方法没有方法体。 
学无止境,你需要不断地练习实践才可能真正成为优秀的软件工程师。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章