C#程序设计基础——类、对象、方法

类与对象

类是一种构造,通过使用该构造,用户可以将其他类型的变量、方法和事件组合在一起,从而创建自定义类型。类就像一个蓝图,它定义类型的数据和行为。

对象

定义类之后,便可通过将类加载到内存中来使用它。已加载到内存中的类称为“对象”或“实例”。可以通过使用C#关键字new来创建类的实例。

方法

“方法”是包含一系列语句的代码块。程序通过“调用”方法并指定所需的任何方法参数来执行语句。

方法定义中几个重要的方面

返回值

方法可以向调用方法返回值。如果返回类型不是void,则方法体必须使用return关键字来返回值。返回值的数据类型必须和声明中的返回类型一致,当返回类型是接口时,返回的数据类型必须实现该接口。如果没有返回值,方法的返回类型不能省略,必须写成void,而且方法体不能包含return语句。

参数传递

参数类型分为简单数据类型和引用数据类型

值传递:简单的数据类型实现的是值传递,即方法中的形参接受实参的值,形参和实参在内存中占两套地址,对形参的改变不会影响实参的值。

引用传递:引用数据类型(如类、数组、接口)实现的是地址传递,即方法中实参传递给形参的数据在内存中的地址,实参和形参共用一个地址空间,任何数据对形参值的修改都直接改变实参的值。

方法的重载

方法的重载是指一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或参数类型不能完全相同。编译器根据参数的类型和个数决定当前使用的方法。

继承

继承可以提高软件模块的可重用性和可扩充性,提高软件的开发效率。继承得到的类称为子类,被继承的类称为父类。子类不仅可以继承父类的方法和属性,同时也可以修改或添加父类的行为。

时间: 2024-07-31 14:31:32

C#程序设计基础——类、对象、方法的相关文章

Java面向对象一(封装 继承 多态 类 对象 方法)

1.封装:主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现. 如下,人这个类封装了很多人的属性和行为: 2.继承:很好的实现了代码的复用,提高了编程效率. 人{ 年龄(属性一) 身高(属性二) 性别(属性三) 做事(行为之一) 走路(行为之二) 说话(行为之三)} 教师{ 年龄(属性一) 身高(属性二) 性别(属性三) 做事(行为之一) 走路(行为之二) 说话(行为之三) 教书(行为之四)} 教师继承了人的属性和行为,额外多出的是教书的行为.所以可以写成 教师 继承了 人这个类 的

PHP获取类对象方法、属性、常量列表!

$r = new ReflectionClass($serv); print_r($r->getConstants()); print_r($r->getProperties()); print_r($r->getMethods());

C#1(.net和C#的关系、VS与.net的对应关系、VS2012常用的几种应用程序、C#定义一个类的方法、类页面内容的解释、定义Person的类、调用Person类的方法、命名规范、数值类型)

1..net和C#的关系 .net是一个开发平台,C#是应用在.net平台上的一种语言.   2.VS与.net的对应关系  3.VS2012常用的几种应用程序 第一种是Windows窗体应用程序,也即是我们常用的C/S端的应用软件: 第二种是控制台应用程序,主要是用来学习调试C#代码的(老师上课应用的模式): 第三种是空Web应用程序,建立空的网页模式,B/S模式: 第四种是Web 窗体应用程序,建立后会生成一些常用的网页组件和功能,例如JS.image等,也是B/S模式. 4.C#定义一个类

黑马程序员_类对象创建代码的执行顺序测试总结

class StaticCode { // 类的非静态成员变量(实例变量)定义语句: // 作用:用来存储对象的特有数据的成员变量. // 运行:当类对象被创建时就执行,按照顺序自上而下执行,和构造代码块平级.(即当有多个构造函数 // 代码块和多个非静态成员变量时,JVM按照自上而下的顺序来执行所有语句,包括构造代码块里的代码 // 和非静态成员的声明.) // 存储位置:非静态变量位于堆内存中的对象实体中. int num = 3; // 构造代码块 { System.out.println

关于“如何做到在一个类内不通过创建另一个类的对象,却调用另一个类的方法”的问题

通常,我们在java中通过实例化一个类来调用该类的方法,但是,如果有多个类都要调用这个类地方法,是不是要在每个主调类里面都创建一个被调用类的对象呢? 如果这样做,会不会因为多次实例化而影响程序的执行效果呢? 答案是:没必要多次创建被调用类的对象,而且多次实例化还可能会影响程序执行效果. 解决问题的办法是:在每一个主调类里面各写一个构造方法,形参是被调用类的对象, public ShopCartItem(ShopCart shopcart) { super(); this.shopcart=sho

Java中的static关键字解析(转自海子)__为什么main方法必须是static的,因为程序在执行main方法的时候没有创建任何对象,因此只有通过类名来访问。

Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题.以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试题 若有不正之处,希望谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnb

黑马程序员_IOS开发_Objective-C学习笔记_类(对象)

1.面向对象编程基本介绍: 面向对象程序设计(英语:Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发的方法.对象指的是类的集合,类是对象的模板,它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的安全性.重用性.灵活性和扩展性. 2.面向对象与面向过程 面向过程就是分析出解决问题所需要的步骤,然后基于这些步骤用代码和函数把这些步骤一步一步实现. 面向对象是把构成问题事务分解成各个对象,然后各个对象分别对相关的程序功能做出处

MFC中CAsyncSocket及其派生类对象跨线程使用方法

存在的现象 在MFC中用多线程方法开发WinSocket通讯程序时,如果你的的是API方式,自然没有以下说的问题.但如果当你使用CAsyncSocket及其派生类(CSocket或是你自己的写的)来开发的话,会发现在不同线程中使用CAsyncSocket及其派生类对象时,会出现程序崩溃.这里所说的跨线程,是指该对象在一个线程中调用Create/Close/Attach/Detach函数,然后在另外一个线程中调用其他成员函数如Receive/ReceiveFrom/Send/SendTo等.下面是

关于类、方法、对象(实例):通过一个例子看一下self都做了哪些事情

我们在定义一个类时,经常会在类的各个方法中看到self,那么在程序执行时self到底起了什么作用,什么时候要加self,这一点需要我们思考并好好理解.之前在学习时没有想这么多,加之用pycharm写代码,很多地方都自动补全了,有些地方没加self,会提示错误,然后补全,没有想过这个过程,今天刚好整理一下. 1.先简单说明一下self的含义 类的方法与普通的函数只有一个特别的区别 -- 它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值, Python 会提供这个值.这