一、面向对象与OOD

      让我们先联系一下生活中的对象:人、动物、植物、汽车、飞机、建筑物、计算机等等。人们通过对象来思考问题。甚至我们把平时谈朋友可以称为找对象。

      基本上对象可以分为两类:活动的对象和非活动的对象。活动的对象是运动的,通过行为去完成某项任务。而非活动对象是不能有主动行为的。但是所有这些对象都有一些共同点:尺寸、颜色、长度、重量等属性(attribute),并具有一些行为(behavior),如汽车可以开动、转弯、刹车等;人会喜、怒、哀、乐、睡觉、说话等;开关可以打开、关闭,等等。

     人们通过研究对象的属性、观察对象的行为而了解对象。不同对象可能有相似的属性和行为、如可以比较小孩和成人、比较成人和猩猩等。

     如今,程序设计为了能和现实生活中的对象紧密结合,也模拟类似其特征的方式去用计算机语言描述一个对象,于是面向设计(OOD)诞生了。它利用类的关系、表示某个类的对象具有相同的属性,比如人类中的老人、中年人、青年人和小孩具有很多共同点。OOD利用继承关系从现有类派生新类,并在新类中增加独特的特征。例如,飞机类对象中运输机有一些战斗机的属性,但战斗机可以发射子弹、导弹。

     面向对象设计可以更自然、更直观地浏览软件设计过程,即根据它们的属性、行为和相互关系建模对象。OOD还建模对象之间的通信,就像人与人之间可以互相说话传达想法一样。对象也可以通过消息互相通信。

     OOD将属性和操作(行为)封装成对象、对象的属性与操作是密切联系的。对象具有信息隐藏属性,即对象间虽然通过良定义的接口能够互相通信,但该对象通常不知道其他对象的实现方法,因为实现细节隐藏在对象内部。比如,我们可以很好地驾驶汽车,但不需要知道发动机、传送系统、刹车系统和排气系统内部是如何工作的,你只需要知道如何使用加速板、刹车踏板和方向盘即可。信息隐藏技术在软件工程中非常的重要。

      C#是面向对象的语言。用这类语言编程成为面向对象编程(OOP),程序员可以方便地用OOD实现可工作的系统。相反,C语言是过程式的语言,编程是面向行为的。在C语言中,编程单位是函数;在C#中,编程单位是类,通过类可以最终实例化(在OOP中称为“生成”)对象。C#的类包含方法(相当于C语言的函数),方法实现操作,而数据实现属性。

posted on   ALLENWANG  阅读(259)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2009年5月 >
26 27 28 29 30 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6

导航

统计

点击右上角即可分享
微信分享提示