zoukankan      html  css  js  c++  java
  • OOA、OOD、OOP

     

    oo:面向对象,个人理解简言之就是设计出来的东西别人很容易理解和使用,
    1、比如你设计(oop)出来的方法类,我只管调用接口,不需要知道内部实现原理,怎么封装的不管。
    2、但是你提供的接口方便理解:比如说这个类是关于描述一个人的,那么我应该猜到肯定有手、脚、耳朵、嘴巴等等属性,并且我在调用脚这个属性时,有知道它有“步行”这个动作,而这个动作是其他属性没有的。

    OOA:
    Object Oriented Analysis 面向对象分析方法

    OOD:
    Object Oriented Design 面向对象设计

    OOP:
    Object Oriented Programming 面向对象的程序设计

    OOP的三大特性

    面向对象编程的三大特性

    封装 :就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系
    继承:子类自动继承其父级类中的属性和方法,并可以添加新的属性和方法或者对部分属性和方法进行重写。继承增加了代码的可重用性。
    多态:多个子类中虽然都具有同一个方法,但是这些子类实例化的对象调用这些相同的方法后却可以获得完全不同的结果,多态性增强了软件的灵活性

    OOP =Object Oriented Programming,=面向对象的程序设计

    对象(Object):包含一定的数据结构和状态的实体。
    操作(Operation):作用于对象的行为,如访问和处理对象的状态。
    封装(Encapsulation):定义对象和操作,只提供抽象的接口,并隐藏它们的具体实现。
    Ada 83 已经支持上述3个特性,因此被称为基于对象(oriented-based)的语言;但面向对象程序设计经过十年的发展, Ada95 基于上述要素又增添了以下两个 Ada83 不支持的要素:

    继承(Inheritance):通过继承现有类型的性质,创建新的数据类型,而不影响原有数据类型。
    多态性(Polymorphism):判定数据类型集合中各类型的区别,使程序可以按照它们的共同特性来书写。
    对 新特性的需求是由三份报告[Dod 1990]指出的,具体见 Ada Rantinale 的 Part Two- 4 Object Oriented Programming-- 4.1 Background and Concepts,可以更好的理解继承和多态性。

    OOP 的继承从理论上讲是模仿人的思考方法,将对象分类,如:car,bus 这两个数据类型是从数据类型vehicle 继承而来的,它们作为 vehicle 的一类,自然继承了 vehicle 的特性,同时具有自身独有的特性;而 wheel 却不是 vehicle 的一类,只是 vehicle 的一个组成部份,因此不是从 vehicle 继承而来。同样,vehicle 有一些操作,如 start,reverse, car和bus也继承下来,如果必要,也可加上自己独有的操作,如 drive_at_200mph。但在实际程序中,人们往往忽视了面向对象的内涵,甚止于 C++ 这些语言玩了好几年,也只是用上了面向对象的语法,而没有形成面向对象的思考方法

  • 相关阅读:
    Caused by: org.xml.sax.SAXParseException: The content of elements must consist of well-formed charac
    java反射方法
    错误解决:There is no getter for property named 'id' in class 'java.lang.String'
    java的AOP
    Java预置的注解
    mysql 数据库自动备份
    微信小程序
    关于 IOC和spring基本配置详解
    关于Spring配置的一些东西
    关于Spring的一点东西
  • 原文地址:https://www.cnblogs.com/niexiaobo/p/4890430.html
Copyright © 2011-2022 走看看