• 面向对象 思维导图


    最近在学习面向对象的过程中深有感触,于是整理了一些思维导图来加深理解.

    1.面向对象思想

     

    2.面向对象结构

    3.面向对象流程

    一些知识点:

    1.OO和过程式程序设计的区别:OO设计中,属性和行为都包含在一个对象中(称为封装),而在过程式程序设计(结构化设计)中,属性和行为是分开的。

    2.OO设计术语中,数据称为属性,行为称为方法

    3.获取方法设置方法提供了对对象的数据的一种受控访问,获取方法和设置方法有时分别称为访问方法和修改方法。

    4.类是对象的模板。当创建一个对象时,称为对象被实例化。必须在创建对象前先设计类。

    5.类的数据由属性表示。每个类必须定义属性来存储由这个类实例化的各个对象的状态。

    6.要实现数据隐藏,所有属性都应当声明为private。在大多数OO语言中,接口中的方法都指定为public

    7.超类(或父类或基类)包含继承自该类的所有子类(或派生类)共同的属性和行为。

    8.在大多数OO语言中,一个类只能有一个父类——单重继承。有些语言(如C++)则允许一个类有多个父类——多重继承

    9.初始化顺序①对象的初始化顺序:先静态成员,再非静态成员,再构造方法;②继承中构造方法的调用顺序: 先父类,再子类。

    10.如果一个子类从超类继承了一个抽象方法,它就必须为这个方法提供具体实现。

    11.a.构造函数constructor)指一个与其所在类同名的方法,且该方法没有提供任何返回类型。构造函数是类的入口点,对象由此构建。构造函数非常适合完成初始化new关键字用于类的实例化并分配所需的内存。

    Cabbies myCabbie = new Cabbie();

    b.初始化是构造函数完成的一个常见功能。如果没有为Cabbie类提供一个构造函数,就会自动插入以下默认构造函数

    public Cabbie()

    {

    super();

    }

    c.如果类中有属性,好的实践往往是在构造函数中初始化这些属性。

    d. 使用多个构造函数(重载方法):利用函数不同的签名。签名 =方法名 + 参数列表

    public String getRecord(int key)

    e. 超类如何构造:①调用该类超类的构造函数;②初始化对象的各个类属性;③执行构造函数中的其余代码

    12.实现细节对用户是隐藏的。实现的任何部分可以改变而不影响类的用户接口。接口包含调用一个方法以及返回一个值的语法。如果这个接口没有改变,用户就不关心实现是否发生了改变。

    13.对象持久性object persistence)指保存对象的状态,从而可以在以后恢复并使用。方案①,将对象保存到平面文件(使用专有的串行化技术或者使用可以跨多个平台和语言的XML模型);方案②,写至关系数据库。

    14.OO设计的目标是设计抽象、高度可重用的类。

    15.尽可能为用户提供最小接口。确定最终的接口是一个迭代的过程。

    16.异常粒度:可以捕获不同粒度的异常。可以捕获所有异常也可以只检查某些异常。

    17.this:关键字是当前对象的一个引用,而super:表示当前对象父类对象的引用 。

    18.静态属性:为该属性分配一段内存用于由这个类实例化的所有对象,该属性由该类的所有对象共享。这有些接近全局数据的概念。

    19.操作符重载operator overloading)可以改变一个操作符的含义,如"+"可以用作加号,也可以用作字符串拼接。大多数OO语言并不允许操作符重载。

    20.a.继承组合存在的最主要原因可能就是对象重用。继承——is-a关系;组合——has-a关系。

    b.继承是子类使用父类的方法,而多态则是父类使用子类的方法。重载、重写、继承、多态的区别

    Triangle tri = new Triangle(); //继承

    Shape shape = new Triangle(); //多态

    c.重载是在一个类里一系列名字相同参数不同的方法,而重写(override)是指子类的实现替代父类中的实现,继承后重新实现父类的方法。

    d.Object类在Java.Net环境下是所有类的基类。

    21.每个新的继承关系都会为继承方法的使用建立一个新的上下文。需要为每一个这样的上下文考虑一个完整的测试策略——测试新的代码。

    22.创建可重用代码的一种方法就是创建框架。框架的思想围绕着即插即用和重用原则。可以用接口和抽象类来创建框架。

    23.契约contract):要求开发人员遵守应用编程接口规范所需的机制。在.Net中,实现契约两种方法:抽象类和接口。

    24.继承是一种严格的is-a关系,但接口不是。接口可以跨多个类。

    25.a.XMLextensible markup language)是不同系统之间定义和传输数据的一种标准机制,面向对象数据定义语言

    b.HTML表示数据,XML描述数据(格式化数据),还可以用CSS辅助格式化数据(侧重于显示的样式)。与HTML相比,XML提供了合法性检查——DTDDocument Type Definition)。为了能够验证文档使得XML文档更为健壮,需要在DTD中定义用来描述数据的标记。

    26.含有抽象方法的类必然是抽象类,而抽象类的方法不一定都是抽象方法。抽象类不能被实例化。抽象类不能是密封的或静态的,抽象类被子类继承并实现它的方法。

    只有虚方法或静态方法可以被重写,抽象方法可以看成是没有实现体的虚方法。基类的抽象方法需要子类去实现,而虚方法已经在基类中实现,子类是否选择覆盖基类方法取决于子类的需求。抽象方法和虚方法的区别

    27.面向对象的三大特征:①封装:保证对象自身数据的完整性、安全性;②继承:建立类之间的关系,实现代码复用、方便系统的扩展;③多态:相同的方法调用可实现不同的实现方式。面向对象的多态性

    28.密封类是类的一种,用sealed修饰,不能用作基类。因此,它也不能是抽象类。密封类主要用于防止派生。

  • 相关阅读:
    怎么让Windows10取消开机登录密码自动登录
    window查看无线网卡bssid以及相关信息命令
    kali-cdlinux-wifi-pj-nanke-心得
    html里文本保留换行格式
    window实用快捷键-ctrl篇
    mybatis 结果映射 collection oftype为string,integer等类型
    Redis集群下只有db0,不支持多db
    软件开发过程中所使用的生命周期模型比较
    简单Dos命令
    简单理解Mysql json数据类型
  • 原文地址:https://www.cnblogs.com/qiaogaojian/p/6031277.html
Copyright © 2020-2023  润新知