面向对象

简介: 面向对象

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

目录
相关文章
|
机器学习/深度学习 运维 自然语言处理
探索机器学习在金融欺诈检测中的应用
【5月更文挑战第3天】 随着金融科技的迅猛发展,机器学习作为其核心推动力之一,正逐渐改变着我们对金融服务安全与效率的理解。本文将深入探讨机器学习技术在金融欺诈检测领域内的应用现状与前景。通过分析多种算法和实际案例,我们揭示了如何利用机器学习提高识别欺诈行为的准确率,降低金融机构的风险损失。同时,文章还将讨论在此过程中遇到的挑战及未来的发展趋势,为读者提供一个全面而深入的视角。
|
SQL 搜索推荐 OLAP
Flink 流批一体场景应用及落地情况
本文由阿里云 Flink 团队苏轩楠老师撰写,旨在介绍 Flink 流批一体在几个常见场景下的应用。
68877 11
Flink 流批一体场景应用及落地情况
|
设计模式 算法 搜索推荐
从策略模式看软件设计的智慧-灵活应对变化的艺术
策略模式是一种行为设计模式,它定义了算法族,分别封装起来,让它们之间可以互相替换,使得算法的变化独立于使用算法的客户。本文深入探讨了策略模式的组成、应用场景、实现方式及其优缺点。通过实际案例,展示了策略模式在灵活处理算法和业务规则变化中的强大作用。文章还提供了最佳实践和使用注意事项,帮助开发者更有效地运用策略模式,同时比较了与其他设计模式的异同。掌握策略模式,将为您的软件设计带来更高的灵活性和可维护性。
695 0
从策略模式看软件设计的智慧-灵活应对变化的艺术
|
iOS开发 Ruby Perl
如何在Podfile中指定依赖关系?
如何在Podfile中指定依赖关系?
233 2
|
Java 数据库连接 数据库
|
XML JSON Java
HarmonyOS学习路之开发基础知识——资源文件
应用的资源文件(字符串、图片、音频等)统一存放于resources目录下,便于开发者使用和维护。resources目录包括两大类目录,一类为base目录与限定词目录,另一类为rawfile目录 资源目录示例
|
编解码
语音厅源码实用功能屏幕的转换
说了这么多,其实最终目的是告诉大家语音厅源码屏幕转换功能的重要性,当然不只是这一个功能重要,语音厅源码的各个功能都是很重要的,它们共同组成了语音厅源码平台
语音厅源码实用功能屏幕的转换
|
XML Java 数据格式
[读书笔记]Spring中BeanFactory和ApplicationContext的联系和区别
[读书笔记]Spring中BeanFactory和ApplicationContext的联系和区别
142 0
|
Python
读取相对路径指定文件下的所有文件,用python,并返回所有文件的绝对路径
读取相对路径指定文件下的所有文件,用python,并返回所有文件的绝对路径
329 0