关于 物件(Object)与类别(class)

正在複习C#~(书 和影片 文章 看到头晕http://img2.58codes.com/2024/emoticon06.gif)
发现有些观念真的简单又不简单
一定要用自己的方式搞懂~!http://img2.58codes.com/2024/emoticon13.gif
(P.S以下是自学笔记浅谈而已)

物件(object)是什么?

概念:真实世界中的所有具体或抽象的事物,
都可以将之视为一个『物件』 ,
物件是动态的,状态会随时改变但架构与行为不会改变。

物件(Object)有的特性:

属性(Property):指物件各种特性的现况,物件拥有许多特性(attribute),这些特性代表了一个物件的外观或某些性质。方法(Method):每个物件都拥有不同的行为,这些行为在物件导向程式设计中称之为方法(Method)指物件的功能。

举例具体的东西
車子
属性(Property):品牌名、速度、排气量、颜色、重量
方法(Method): 往前行驶、倒退、煞車


属性(Property):名字、性别、生日、身高、体重
方法(Method):讲话、吃饭、走路

哈利波特OOP

在程式设计或执行阶段,我们可以藉由改变属性值來改变整个物件的某些特性,完成我们想要的物件表示形式。
例如:把车子漆成蓝色、将波特的眼镜换为方形...等。

物件的宣告

宣告物件的方法,直接使用類别的名称來宣告

class Student{   String name;   String sex;   int age;}Student Harry;   //宣告物件变數Harry

产生物件实体语法(要先建立实体物件,然后才能使用实体属性)

产生物件实体使用的是new运算子,範例如下:

//物件变數 = new 類别名称(引數1,引數2…);Harry = new Student(); 

可以直接写成这样

Student Harry = new Student();

类别(Class)是什么?

类别算是一个蓝图、一个範本、一个可参考的文件,他没有 实体 (Instance) 的概念,属静态的
類别可像结构一样,可以在類别中定义多种基本资料型态(如int、char、float)的变數,
这些资料变數称为類别的资料成员(data member)。

類别还可以定义所需的功能函數称为成员函數(member function)。是一种加上行为(函式)的结构
也把「资料」与处理资料的程式「函式」整合起來

类别(Class)有的特性

一个類别包含:

资料成员(Data member)成员函數(Member functions)将资料和函數放在一起的动作就称为封装(Encapsu-lation)

由類别所宣告的变數叫做物件(object)

在实际的物件导向程式设计中(例如 C#、Java),我们必须先定义類别,然后才能够透过類别宣告各个属于该類别下的物件,接着再设定物件的属性來代表该物件某方面的特性,并使用物件的方法來操作物件。

宣告類别名称

【範例】

//定义一个Person類别 里面有姓名 性别 及年龄//资料型态有string字串 与int整数型别class Person  {    String name;    String sex;    int age;  }

物件(Object)与类别(class)两者关係

(引用保哥的比喻http://img2.58codes.com/2024/emoticon24.gif)
盖世武功

类别:武林密笈
物件:修练武林密笈而成的武林高手
两者关係:
武林密笈(类别)记载许多各种攻击与回应的方式,
让武林高手(物件)知道遭遇到什么攻击时要用什么招式回应。

程式设计:每执行到我们用 new 运算子时,等同于将物件产生,
也等同于成功得到武林密笈可以开始练功,或是在「建构子」的时候就已经赋予你基本功力。

大概介绍到以上 哈哈
关于所有类型和类型成员都具有存取範围层级
public
protected
internal
protected internal
就等下一篇文章出产啦

来源参考自:
Will保哥的物件导向基础:何谓类别(Class)?何谓物件(Object)?
陈锺诚老师的C#程式教学


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章