news 2026/7/6 4:42:41

面向对象之对象世界

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
面向对象之对象世界

面向对象就是是以对象的观点出发,思考软件世界中的对象和对象之间关系。

对象是面向对象世界的原子

对象在对象世界中的位置就好像物质世界中的分子、原子一样。对象是面向对象世界的基本单位。
前面的文章提高到对象,现实生活中的对象。

面向对象方法体系

对象世界是一个立体的世界,在实施面向对象方法的时候的可以用系统的方法来考虑对象。

  • 对象之间(从左到右)
  • 对象层次(从上到下或从下到上)
  • 对象状态(从前到后)

这样全方法一体的方法体系来解决对象与对象之间的关系,对象状态属性,对象层次来建立对象模型。

对象世界之动态与静态

对象世界和和我们的现实世界都是动态的,也就是在程序运行的过程中会产生对象,对象改变状态以及销毁对象。这些对象的生命周期和现实世界的事物的生命周期基本一致。同时对象世界和我们的现实世界不同,是可以静止的。静止的状态我们可以从两个角度来理解一个是程序保存了状态处于非运行的状态。另外一种角度就是我们在定义对象世界的时候对对象的定义。

对象实例与对象类型

我们捕捉到的对象可能是对象实例也可能是对象类型。对象实例是由具体的生命周期的,而且对象实例之间的状态或者属性可能不同。比如放在家里的电视机这个“电视机”是一个对象实例,指的是实实在在的事物。或者比如计算器上的数字键1这些都是对象的实例。

在软件对象世界中,对象实例有一个实例化的过程。当然这个实例化的过程有可能很简单,有很可能很复杂。从计算机的角度来讲就是分配一块物理内存的过程。所以比较底层的语言比如C是通过函数malloc以及free来分配内存的。而比较高级的语言如C++,C#,JAVA等都是使用new关键字来实现的。另外对于非常复杂的对象实例化过程,就需要把这个实例化的过程封装起来,这些方法导致产生了很多针对创建对象过程的设计模式。

上面的对象实例是针对对象世界的动态性来阐述的。同时对象世界也有静态性。静态性是之对象的分类。

对象类型是对事物的分类。也就是对对象实例的归类,目的是区分把对象的属性或者行为。熟话说“物以类聚”也是这个意思。将对象实例归类的成为对象类型的过程可以称之为“抽象”。

前面提到的电视机对象是一个对象实例,但是电视机也有电视机对象类型。我们可以根据电视机这个关注对象的某些属性来区分电视机。比如可以按照屏幕来区分,有液晶的,有普通的。也可以按照功能来区分比如黑白电视,彩色电视。对象实例是这些分类的结合体。这里的黑白电视机还是一种对象类型,不是具体的对象实例。

对象层次

在对象世界的静态定义过程中,形成了对象的层次结构,比如上面的电视机与黑白电视机就是一种一般与具体的关系,存在一定的层次关系。

当然这种关系不单单之父子关系。而往往对象层次是指对象的抽象层次不同。

面向对象世界不同的世界观

对于对象世界来讲同样存在不同的观点和看法。这些不同的观点和看法导致编程语言的本质和特性都有所不同。

观点一:对象实例的属性和行为是从类型获得(静态定义的),运行时行为不会发生改变

这个观点是典型的面向对象的观点。对象实例是从对象实例而来,因此对象实例的属性和行为都是从对象类型获得的,在对象世界的运行时,对象的动态性会改变对象实例的状态。这是很多基于类型的编程语言的基石。声明了一个类Class之后,对象实例的行为是从类型定义中获得的。随着软件的运行对象的状态改变。

观点二:对象无类型,对象的属性和行为都是可以改变的。

这种观点符合事物发展的规律,比如人作为一个对象,其属性比如年龄,身高等属性都是随着运行过程的进行而改变,同时一些行为也是在人生当中不断获得的。比如说编程能力,这些能力不是先天获得的,而是随着事物的发展而逐步通过学习机制来获得的。支持这种思想的编程语言如流行的JavaScript。对象实例可以在运行过程中获得某种能力,而另外一种对象实例又具备另外一种能力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 4:39:39

AI编程工具实战指南:程序员如何从码农转型为AI增强型工程师

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 1. 先看清“AI暴富”的泡沫,再谈程序员的本职 最近关于“程序员靠AI暴富”的话题又热了起来,各种“风口论”、…

作者头像 李华
网站建设 2026/7/6 4:36:00

3分钟永久解决IDM激活弹窗:免费解锁下载神器的终极指南

3分钟永久解决IDM激活弹窗:免费解锁下载神器的终极指南 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 还在为Internet Download Manager&#xff08…

作者头像 李华
网站建设 2026/7/6 4:32:20

NetworkPolicy 隔离:AI 平台默认不该所有服务互通

NetworkPolicy 隔离:AI 平台默认不该所有服务互通 一、默认互通在 AI 平台里风险很高 很多 Kubernetes 集群默认 Pod 之间可以互相访问。对简单系统,这能减少配置成本;对 AI 平台,这个默认很危险。模型服务、向量库、对象存储代理…

作者头像 李华
网站建设 2026/7/6 4:31:57

deepseek-v4-pro 和 qwen3.7-max 写代码谁更猛——我用同一套 50 道真实开发题跑了两轮,有一类任务结果和官方榜单完全反过来

上个月团队在做一个老项目的微服务拆分,涉及大量多文件重构和复杂 SQL 改写。我同时开了 deepseek/deepseek-v4-pro 和 bailian/qwen3.7-max 两个模型轮着跑,想看看到底谁更适合当"重构搭子"。结论先放这儿:deepseek-v4-pro 在单文…

作者头像 李华