2-初步了解C#-类与对象

本篇博客对应视频讲解

回顾

我们在第一篇文章中讲了编程中最基本的内容,如输入输出、字符串处理、数字类型计算、分支及循环结构等。无论学习什么语言,这些内容都是相通的。

本篇博客主要演示列表(List)的用法以及面向对象中类的概念,通过一个具体的实例去向大家展示如何对现实对象抽象,创建类,以及如何使用它。

理论基础

我们可以通过官方文档中的解释先初步理解一下列表、类、对象等概念。然后我们通过实际的代码示例,通过自己动手编写去亲身体会一下。

理解面向对象编程

关于面向对象的编程,我们可以通过官方文档中的解释来做初步的理解。
文档中介绍了以下概念:
类和对象
继承
接口
泛型
委托

我们当前只需要对类和对象有个初步的理解即可。点击查看完整文档

单纯讲概念是没用的,但没有理论基础也难以形成知识体系,触类旁通。所以,建议大家先总体看一遍文档内容,脑海中有个印象,然后通过我们的视频实例和自己动手实践去亲自体会,之后再看文档的时候,也许就会理解其内容了。

动手实践

  1. 列表List
         //定义List
         List<string> list = new List<string>();
         //添加值
         list.Add("Black");
         list.Add("White");
         list.Add("Orange");
         list.Add("Red");
         list.Add("Blue");

         //遍历输出
         foreach (var item in list)
         {
             Console.Write(item + " ");
         }
         Console.WriteLine();

         //数列示例
         var fibonacciNumbers = new List<int> { 1, 1 };
         while (fibonacciNumbers.Count < 20)
         {
             //取出最后两个值
             var previous = fibonacciNumbers[fibonacciNumbers.Count - 1];
             var previous2 = fibonacciNumbers[fibonacciNumbers.Count - 2];
             //添加到列表
             fibonacciNumbers.Add(previous + previous2);
         }
         //遍历输出
         foreach (var item in fibonacciNumbers)
             Console.WriteLine(item);
  1. 类和对象
    定义英雄类:
 class Hero
 {
     /// <summary>
     /// 名称
     /// </summary>
     public string Name { get; set; }
     /// <summary>
     /// 武器
     /// </summary>
     public string Weapon { get; set; }
     /// <summary>
     /// 血量
     /// </summary>
     public int HP { get; set; }

     public Hero(string name, int Hp)
     {
         Name = name;
         HP = Hp;
         Console.WriteLine($"{name}登场!拥有[{Hp}]血量");
     }

     /// <summary>
     /// 攻击
     /// </summary>
     /// <param name="target"></param>
     public void Attack(string target, int damage = 0)
     {
         Console.WriteLine($"[{Name}]使用[{Weapon}]攻击了[{target}],造成了[{damage}]点伤害");
         Console.WriteLine();
     }
 }

创建实例,使用类实例

         //设置英雄库及武器库
         string[] heroNames = { "钢铁侠", "蝙蝠侠", "美队", "超人" };
         string[] weapons = { "拖鞋", "拳头", "棍棒", "机枪" };

         //创建英雄队列
         var heros = new List<Hero>();
         var random = new Random();

         //英雄登场,配置武器
         foreach (var item in heroNames)
         {
             var hero = new Hero(item, random.Next(60, 120));
             hero.Weapon = weapons[random.Next(0, 4)];

             heros.Add(hero);
         }

         //大混战
         while (heros.Count > 1)
         {
             var position = random.Next(0, heros.Count);
             var target = random.Next(0, heros.Count);
             if (position != target)
             {
                 int damage = random.Next(16, 32);
                 heros[position].Attack(heros[target].Name, damage);
                 heros[target].HP = heros[target].HP - damage;

                 if (heros[target].HP < 0)
                 {
                     Console.WriteLine(heros[target].Name + "已阵亡");
                     heros.Remove(heros[target]);
                 }
             }
             Thread.Sleep(500);
         }

         Console.WriteLine($"最后的胜者为:[{heros[0].Name}].还有[{heros[0].HP}]血量");

以上代码是我们今天示例中的代码。我们也可以通过github上去下载完整项目代码。
建议大家同时观看视频,视频中会有更详细的说明以及操作演示。

原文地址:https://www.cnblogs.com/msdeveloper/p/9773762.html

时间: 2024-10-06 06:49:52

2-初步了解C#-类与对象的相关文章

初步理解类和对象

对于初学者来说,对象和类往往和容易搞混. 比如举例:我想买个电视,那么电视是类还是对象?单身狗来说,媳妇是类还是对象?我是类还是对象?等等. 先看一个解释: 类是对象的抽象,对象是类的具体实例. 类是抽象的,并不存在,用计算机语言讲就是不占用内存.而对象是具体的,占有内存空间. 最后用两个例子说明一下他们的关系:例如:类就是水果,对象就是苹果.又比如“人类”就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“名字.年龄”等信息就是对象的属性,人的动作比如“吃饭.穿衣”等就是对象的方

objective - c 类和对象

知识点 1.初步认识 OC 2.xcode使用 3.面向对象编程思想,类和对象 4.类的定义和使用 5.类的实例化--对象 6.声明和实现相分离 =========================================== 1.需要理解的(理论部分) 第一部分:OC和面向对象 1.1.OC语言的历史,特点.重要程度 [什么是OC] objective - c   在C语言基础上开发, 面向对象的语言: 注意C语言和oc语言语法的区别: IOS, iphone, ipad … [进入OC

python的类和对象——进阶篇

写在前面的话 终于,又到了周五.当小伙伴们都不再加班欢欢喜喜过周末的时候,我刚刚写完这一周的游戏作业,从面对晚归的紧皱眉头到现在的从容淡定,好像只有那么几周的时间.突然发现:改变——原来这么简单.很多时候我们在想要为自己的青春拼搏一次的时候都输给了偶尔的抵触和轻松愉悦的生活.我们不过和走到最后的人差了两个字——坚持!所以尽管进入类和对象这一部分,大家都会有畏难心理,但是坚持一下下,你就会是那个走到最后的人! 回顾 上一篇中我们初步的认识了类和对象,了结了它们的一些语法,就相当于得到了一个对象的骨

关于Java构造类与对象的思考

简单记录一下Java构造类与对象时的流程以及this和super对于特殊例子的分析. 首先,接着昨天的问题,我做出了几个变形: Pic1.原版: Pic2.去掉了T.foo方法中的this关键字: Pic3.在原版的基础上抹掉了B.foo方法: Pic4.抹掉了原版的B.foo方法,同时去掉了T.foo方法中的this关键字: 这四个图全方位地对this和super两个关键字的有无进行了测试,测试结果表明:这些版本的程序的运行结果都一样... 在这里,还是插一张流程图: 首先说一下super关键

类和对象(上) C++

本节是对类初步的了解,熟悉以下内容: 1. 什么是类?什么是对象?面向对象和面向过程区别? 2. 如何定义一个类?用struct定义类和用class定义类的区别? 3. C++中如何实现封装? 4. 类的作用域:如何理解定义一个类,就定义了一个作用域? 5. 类的实例化:类为什么需要先实例化,才可以存储内容? 6. 如何求一个类的大小?空类的大小时多少,为什么?补充:什么是结构体内存对齐?为什么需要内存对齐?对齐参数如何设置?如何知道一个结构体相对于结构体起始位置的偏移量?什么是大小端?什么场景

Java 第七章 类和对象 笔记

一.对象的特征--类的属性 每个对象的每个属性都有特定的值 对象的操作--类的方法 二.封装:对象同时具有属性和方法两项特性.     对象的属性和方法通常被封装在一起,共同体现事物的特性,     二者相辅相成,不能分割. 三.类和对象的区别:     类:抽象的概念,是一个模子,确定了对象的属性和方法.    对象:能够看得见摸得着的实物.具有静态和动态特征. 四.定义类的步骤:     1.定义类名      2.定义类的属性 访问修饰符 属性类型 属性名称=默认值:     3.定义类的

类与对象

1.1 类和对象的关系   为什么要采用面向对象思想进行程序设计与开发 1.可以实现代码的复用 2.符合人思考的方式   类和对象的定义 1.类的定义:用class关键修饰的叫做类 2.对象的定义:类名定义的数据类型   类和对象之间关系 1.由对象归纳为类,是归纳对象共性的过程 2.在类的基础上,将状态和行为实体化为对象的过程为实例化   1.2 定义类   定义类的语法,类主要由成员变量和成员方法构成(暂不提构造函数) eg: publicclassStudent { //成员变量 intn

【编程语言】Java中的类和对象learn by Imooc

 一.什么是类和对象 * 类是模子,确定对象将会拥有的特征(属性)和方法 * 类的特点: *     类是对象的类型 *     具有相同属性和方法的一组对象的集合 * 对象的属性 *     属性-对象具有的各种特征 *     每个对象的每个属性都有用的特定值 * 对象的方法 *     方法-对象执行的操作(能干什么) * 类和对象的关系 *     类是抽象的概念,仅仅是模板 *     对象是一个你能够看得到,摸得着的具体实体 二. 如何定义Java的类 * 1.类的重要性:所有Jav

C++ 成员变量是别的类的对象

?在成员函数中,可以将this指针当参数传递,也可以返回this指针,或返回通过this指针拿到的对象 /* 成员变量是别的类的对象 */ #include <iostream> using namespace std; //日期类 class Date { int year,month,day; public: //构造方法 Date(){ cout << "Date() " << endl; } //有参 Date(int _y,int _m,i