面向对象
Java是面向对象的语言。对象就是万物,人是一个对象,狗也是一个对象,车、你、房子都是对象(英语是Object),世界上的任何事物都是一个对象。
每个对象都有自己的属性,比如人有手、有年龄,车有轮子,发动机等等,这就是对象的属性。
每个对象都有自己能做的事情,比如狗能跑,房子能住,人能说话等等,这就是对象的方法(method函数)。
所以,对象有自己的属性和方法,属性可以被赋值,方法可以被调用,记住。
然后你就在想,人也有年龄,狗也有年龄,人能跑,狗也能跑,这就是对象的共同属性,我们把所有共同的属性抽离到一起成为动物(动物也可以是一个Object),就成了类(class)!
类就是相同属性和方法的对象抽象到一起形成的类群,比如男人女人抽象为人类,人和狗抽象为动物,人、房子、狗、颜色、数据、函数等等所有事物,抽象为Object!
这就是面向对象中类和对象的概念!还有类之间进行继承、封装等等概念,以及多态的概念!
面向对象编程有助于提高代码的可重用性和可维护性。
与面向过程编程对比
面向对象编程(Object-Oriented Programming, OOP)和面向过程编程(Procedural Programming)是计算机编程的两种基本范式。
面向对象编程强调将数据和操作数据的函数封装在一起形成对象。它通过封装、继承、多态等机制来组织代码,使得程序更加模块化、可维护和可扩展。而面向过程编程侧重于将程序分解为一系列的函数或过程,通常使用流程控制语句来控制每个函数或过程完成一个特定的任务。
代码结构上来看,面向对象使用类和对象来构建程序结构,每个类定义了一组共同的属性和方法(人类有名字,会跑),而对象则是类的实例(张三会跑)。而面向过程通常由一系列的函数或过程组成。
面向对象耦合性低,因为它把一些功能模块化的封装了起来,代码更灵活易于修改。而面向过程就紧密关联,不易于维护,适合干一些简单的场景。