美文网首页
面向对象的特征

面向对象的特征

作者: 极客天空 | 来源:发表于2020-04-19 14:43 被阅读0次

    计算机软件系统是现实生活中的业务在计算机中的映射,而现实生活中的业
    务其实就是一个个对象协作的过程。面向对象编程就是按现实业务一样的方式将
    程序代码按一个个对象进行组织和编写,让计算机系统能够识别和理解用对象方
    式组织和编写的程序代码,这样就可以把现实生活中的业务对象映射到计算机系
    统中。
    面向对象的编程语言有封装、继承 、抽象、多态等 4 个主要的特征

    1 封装

    面向对象的封装就是把描述一个对象的属性和行为的代码
    封装在一个“模块”中,也就是一个类中,属性用变量定义,行为用方法进行定
    义,方法可以直接访问同一个对象中的属性

    封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件
    部件的“高内聚、低耦合”,防止程序相互依赖性而带来的变动影响。在面向对
    象的编程语言中,对象是封装的最基本单位,面向对象的封装比传统语言的封装更为清晰、更为有力
    把握一个原则:把对同一事物进行操作的方法和相关的方法放在同一个类中,
    把方法和它操作的数据放在同一个类中。

    2 抽象

    抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这
    个类只考虑这些事物的相似和共性之处,并且会忽略与当前主题和目标无关的那些方面,将注意力集中在与当前目标有关的方面
    例如,看到一只蚂蚁和大象,
    你能够想象出它们的相同之处,那就是抽象。抽象包括行为抽象状态抽象两个
    方面。例如,定义一个 Person 类,如下:

    class Person
    {
    String name;
    int age;
    }
    

    人本来是很复杂的事物,有很多方面,但因为当前系统只需要了解人的姓名
    和年龄,所以上面定义的类中只包含姓名和年龄这两个属性,这就是一种抽像,
    使用抽象可以避免考虑一些与目标无关的细节。我对抽象的理解就是不要用显微
    镜去看一个事物的所有方面,这样涉及的内容就太多了,而是要善于划分问题的
    边界,当前系统需要什么,就只考虑什么

    3 继承

    在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,
    把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干新的内容,
    或修改原来的方法使之更适合特殊的需要,这就是继承。继承是子类自动共享父
    类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展
    性。

    4 多态:

    多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的
    方法调用在编程时并不确定,而是在程序运行期间才确定
    即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定

    它定义引用
    变量 userDao 指向的实例对象由 daofactory.getDao()在执行的时候返回,有时候
    指向的是 UserJdbcDao 这个实现,有时候指向的是 UserHibernateDao 这个实现,
    这样,不用修改源代码,就可以改变 userDao 指向的具体类实现,从而导致
    userDao.insertUser()方 法调用的 具体代码 也随之 改变,即 有时候调 用的是
    UserJdbcDao 的 insertUser 方法,有时候调用的是 UserHibernateDao 的 insertUser
    方法:
    UserDao userDao = daofactory.getDao();
    userDao.insertUser(user);

    相关文章

      网友评论

          本文标题:面向对象的特征

          本文链接:https://www.haomeiwen.com/subject/ovwpbhtx.html