【每日一问】- 谈谈你对面向对象思想的理解

面向对象,这是一种思想,“万物皆对象”,在编程过程中,任何资源都可视为对象,可以是各种变量,也可以是生活中的事物,每个对象都具有各自的状态特征和行为特征,也就是属性和方法,而在编程当中,就是通过对象之间行为的交互来解决问题的。在Java语言中,可以如下理解:

  1. 在Java语言范畴当中,我们都将功能、结构等封装到类中,通过类的实例化来调用功能结构,也就是对象之间属性的调用
  2. 涉及到Java相关的技术,包括前端HTML页面、后端数据库的交互,以及文件资源、网络资源URL等等,这些都可以视为对象

类是面向对象中的一个很重要的概念,因为类是很多个具有相同属性和行为特征的对象所抽象出来的,对象是类的一个实例,类具有三个特性:封装、继承和多态

  • 封装:隐藏对象的属性和实现细节,仅对外公开接口,便于外界调用,从而提高系统的可拓展性、可维护性。即把该隐藏的隐藏起来,该暴露的暴露出来并对外提供可调用的接口,这就是封装的设计思想。
    • 良好的封装能够减少耦合
    • 类内部的结构可以自由修改
    • 可以对成员变量进行更精确的控制
    • 隐藏信息,实现细节
  • 继承:继承描述的是事物之间的所属关系,是从已有的类中构建出新的类,已有的类称为父类,新的类称为子类,子类具有父类的数据属性和方法,并能扩展新的属性和方法。
    • 提高了代码的复用性,提高了软件的开发效率
    • 让类与类之间产生了联系,提供了多态的前提
  • 多肽:多态就是描述一个事物的多种形态,如小明是一个学生,他既是人,也是学生,出现两种形态。Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变量赋值。如我们经常写的代码:UserDao userDao = new UserDaoImpl();
    • 提高了代码的维护性(由继承保证)
    • 提高代码复用性(由继承保证)
    • 提高了代码的扩展性:新增加的子类不影响已存在类的多态性、继承性以及其他特性
    • 安全性:向上转型将子类类型隐藏了起来
end
  • 作者:ONESTAR(联系作者)
  • 更新时间:2021-01-05 09:12
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 转载声明:如果是转载栈主转载的文章,请附上原文链接
  • 公众号转载:请在文末添加作者公众号二维码(公众号二维码见右边,欢迎关注)
  • 评论

    新增邮件回复功能,回复将会通过邮件形式提醒,请填写有效的邮件!