面向对象的思想(1)之概述

简介: 面向对象的思想(1)之概述

面向对象

面向过程(POP) 与 面向对象(OOP)

二者都是一种思想,面向对象是相对于面向过程而言的。

面向过程,强调的 是功能行为,以函数为最小单位,考虑怎么做。

面向对象,将功能封装进对 象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。 面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如 抽象、分类、继承、聚合、多态等。

面向对象的三大特征

  • 封装 (Encapsulation)
  • 继承 (Inheritance)
  • 多态 (Polymorphism)
    image.pngimage.png


面向对象的思想概述

程序员从面向过程的执行者转化成了面向对象的指挥者

  • 面向对象分析方法分析问题的思路和步骤:
  • 根据问题需要,选择问题所针对的现实世界中的实体。
  • 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
  • 把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序 语言,把类构造成计算机能够识别和处理的数据结构。
  • 将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。

类和对象

类(Class)和对象(Object)是面向对象的核心概念。

  • 类是对一类事物的描述,是抽象的、概念上的定义
  • 对象是实际存在的该类事物的每个个体,因而也称为实例(instance)。
  • “万事万物皆对象”


Java类及类的成员

  • 现实世界的生物体,大到鲸鱼,小到蚂蚁,都是由最基本的细胞构成的。同 理,Java代码世界是由诸多个不同功能的类构成的。
  • 现实生物世界中的细胞又是由什么构成的呢?细胞核、细胞质、… 那么, Java中用类class来描述事物也是如此。
  • 常见的类的成员有:
  • 属 性:对应类中的成员变量
  • 行 为:对应类中的成员方法
Field = 属性 = 成员变量,Method = (成员)方法 = 函数


相关文章
|
8月前
|
弹性计算 安全 Linux
OSCopilot产品评测
作为一名安全专家,我近期在ECS上试用了OSCopilot产品。该工具支持Agent代理功能,可直接执行命令,如查询登录IP和时间,操作简便高效。对于复杂任务,可通过文件描述执行,帮助我发现大量安全记录,提升服务器安全性。然而,管道功能存在一些问题,如命令无响应或找不到文件,影响使用体验。建议进一步完善功能,如支持Docker容器操作等。总体而言,OSCopilot提升了工作效率,但仍需改进。
|
监控 安全 网络虚拟化
VLAN分割网络
VLAN是将物理网络划分为逻辑上的虚拟网络,增强安全、和可扩展性,采用模块化或层次化架构。VLAN划分基于组织结构、安全需求和性能,通过限制广播域和配置跨VLAN路由来控制流量。利用动态分配技术如802.1X和虚拟化服务(VRF、VXLAN)提升灵活性。使用集中管理工具和自动化策略简化网络管理,降低错误和成本。
192 2
|
弹性计算 容灾 安全
阿里云服务器配置选择指南?如何选择适合自己的云服务器配置
阿里云服务器配置选择指南?如何选择适合自己的云服务器配置,2023阿里云服务器购买流程更新,选购云服务器有两个入口,一个是选择活动机,只需要选择云服务器地域、系统、带宽即可;另一个是在云服务器页面,自定义选择云服务器配置,这种方式购买云服务器较为复杂,需要选付费方式、地域及可用区、ECS实例规格、镜像、网络、公网IP、安全组等配置,阿里云百科来阿里云服务器购买流程指南2023新版教程
1247 0
阿里云服务器配置选择指南?如何选择适合自己的云服务器配置
|
机器学习/深度学习 监控 开发工具
【MAX78000基础案例演示
【MAX78000基础案例演示
384 0
【MAX78000基础案例演示
|
前端开发
前端标签——响应式
前端标签——响应式
前端标签——响应式
|
算法 Java
算法java快速排序的两种方法(单边循环、双边循环)
算法java快速排序的两种方法(单边循环、双边循环)
256 0
|
存储 缓存 测试技术
接口测试平台代码实现139:不同项目大用例登陆态干扰bug测试
虽然上节课我们准备好了测试数据,但是本节我们要想想如何来测,从哪看结果等问题。
接口测试平台代码实现139:不同项目大用例登陆态干扰bug测试
|
XML 数据格式
有关 用户&角色 分配的问题
有关 用户&角色 分配的问题
174 0
【解决方案】报错[nodemon] failed to start process, "babel-node" exec not found
【解决方案】报错[nodemon] failed to start process, "babel-node" exec not found
727 0
|
存储 SQL JavaScript
他们发明了一门编程语言,名字叫:摇滚明星 Rockstar
  Rockstar 是一门图灵完备的动态编程语言。设计这门语言的目的是能够像写歌词一样开发计算机程序。它的歌词风格主要受 20 世纪 80 年代重摇滚和电力民谣的影响。   为什么会有 Rockstar?   如果我们让 Rockstar 成为一门真正的(虽然毫无意义)编程语言,招聘人员就不会在招聘时对“摇滚开发者”颇有微词。   另外,它很有趣,一门基于歌词编译的编程语言很值得我们一试。   我们还可以用它做贴纸,谁不想在自己的笔记本电脑上贴上“认证 Rockstar 开发者”这样的贴纸呢?   Rockstar 语言规范   注释   我们不建议在 Rockstar 程序中
523 0