C#(十五)之C#中的类

简介: 本篇内容记录了定义类文件及代码演示。

QQ图片20220426110546.jpg

C#中的类。


首先定义一个类文件。


点击项目 -> 添加类(这里没有办法截图)理解万岁。


C#中的类与PHP中的类是类似的,只要能实例化,在哪都可以调用。


person gc = new person("GC",23,new cat());  // 实例化
Console.WriteLine("我叫{0},{1}岁了,我有一只猫{2}", gc.name, gc.age, gc.jerry.Method());


具体执行请看下方代码:


一、静态变量的定义:


public static int killCount;
调用:
类名 + 变量名(不用实例化)


二、静态方法的调用:


类中的静态方法,在不实例化类的情况下,直接调用就好。


stat.Put();


主文件代码:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using gc; //使用自己定义类的命名空间
namespace gc
{
    class Program
    {
        /* C#主要的运行函数,就是main函数 */
        static void Main(string[] args)
        {
            /*声明对象*/
            cat Tom = new cat();
            Tom.name = "Tom"; // 设置姓名
            Tom.age = 23;  //设置年龄
            Tom.Method(); // 调用函数方法
            for (int i = 0; i < 5; i++)
            {
                Tom.CatchMouse();  //调用捉老鼠函数
            }
            person gc = new person("GC",23,new cat());
            Console.WriteLine("我叫{0},{1}岁了,我有一只猫{2}", gc.name, gc.age, gc.jerry.Method());
            wolf w = new wolf();
            tigger[] t = new tigger[5];  //参数是一个数组,对象数组
            for (int i = 0; i < t.Length; i++)
            {
                t[i] = new tigger();
            }
            Console.WriteLine("我们现在共有{0}只狼",tigger.killCount);
            for (int i = 0; i < t.Length; i++)
            {
                // 要给每只狼都赋一个对象
                t[i].goHome();
                w.seeTigger();
            }
            /*类中的静态方法不需要实例化,直接调用就行*/
            stat.Put();
        }
        /*定义一个静态方法类*/
        class stat {
            public static void Put()
            {
                Console.WriteLine("我是一个静态方法");
            }
        }
        class wolf {
            public void seeTigger() {
                if (tigger.killCount > 4)
                {
                    Console.WriteLine("上,兄弟们");
                }else {
                    Console.WriteLine("静观其变");
                }
            }
        }
        class tigger {
            public static int killCount;
            public tigger(){
                killCount++;
            }
            //tigger();
            public void goHome() {
                if (killCount > 5)
                {
                    Console.WriteLine("进攻" + killCount);
                }
                else {
                    Console.WriteLine("集合" + killCount);
                }
            }
        }
        class person {
            public string name;
            public int age;
            public cat jerry;
            public person(string getName,int getAge,cat catValue){
                name = getName;
                age = getAge;
                jerry = catValue;
            }
        }
    }
}
}


三、类文件:cat.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace gc
{
    class cat
    {
        public string name;       // 共有的
        public int age;
        private int miceCount = 0;// 私有的
        /*私有行为*/
        private void Hello()
        {
            Console.WriteLine("只有我自己能用");
        }
        /*公共行为*/
        public string Method()
        {
            return "我叫jerry";
        }
        /*捉老鼠*/
        public void CatchMouse()
        {
            miceCount++;
            //Hello();
            Console.WriteLine("我抓了{0}只老鼠", miceCount);
        }
    }
}


这个没啥可说的,使用方法基本与PHP的类基本类似。就是写法不太一样。


这里旧事重提说一下public和private两个修饰符。


Public:共有的,谁都可以用。


Privete:私有的,只有你能用。


简单粗暴,后边应该会再详细看,关于面向对象部分,在做PHP的时候对于思想可能理解的不是很透彻。



目录
相关文章
|
1月前
|
开发框架 .NET C#
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
|
2月前
|
存储 C# 索引
C# 一分钟浅谈:数组与集合类的基本操作
【9月更文挑战第1天】本文详细介绍了C#中数组和集合类的基本操作,包括创建、访问、遍历及常见问题的解决方法。数组适用于固定长度的数据存储,而集合类如`List<T>`则提供了动态扩展的能力。文章通过示例代码展示了如何处理索引越界、数组长度不可变及集合容量不足等问题,并提供了解决方案。掌握这些基础知识可使程序更加高效和清晰。
77 2
|
1月前
|
Java 程序员 C#
【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值
【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值
12 0
|
2月前
|
C# 数据安全/隐私保护
C# 一分钟浅谈:类与对象的概念理解
【9月更文挑战第2天】本文从零开始详细介绍了C#中的类与对象概念。类作为一种自定义数据类型,定义了对象的属性和方法;对象则是类的实例,拥有独立的状态。通过具体代码示例,如定义 `Person` 类及其实例化过程,帮助读者更好地理解和应用这两个核心概念。此外,还总结了常见的问题及解决方法,为编写高质量的面向对象程序奠定基础。
25 2
|
3月前
|
C#
C#中的类和继承
C#中的类和继承
43 6
|
3月前
|
Java C# 索引
C# 面向对象编程(一)——类
C# 面向对象编程(一)——类
34 0
|
3月前
|
开发框架 .NET 编译器
C# 中的记录(record)类型和类(class)类型对比总结
C# 中的记录(record)类型和类(class)类型对比总结
|
5月前
|
开发框架 .NET 编译器
程序与技术分享:C#基础知识梳理系列三:C#类成员:常量、字段、属性
程序与技术分享:C#基础知识梳理系列三:C#类成员:常量、字段、属性
37 2
|
5月前
|
C#
C# 版本的 计时器类 精确到微秒 秒后保留一位小数 支持年月日时分秒带单位的输出
这篇2010年的文章是从别处搬运过来的,主要包含一个C#类`TimeCount`,该类有多个方法用于处理时间相关的计算。例如,`GetMaxYearCount`计算以毫秒为单位的最大年数,`GetCurrentTimeByMiliSec`将当前时间转换为毫秒,还有`SecondsToYYMMDDhhmmss`将秒数转换为年月日时分秒的字符串。此外,类中还包括一些辅助方法,如处理小数点后保留一位数字的`RemainOneFigureAfterDot`。
|
5月前
|
存储 安全 C#
C# 类的深入指南
C# 类的深入指南