一个编程小白的笔记,如有错误或表述不清,恳请大佬指出

先学习一下语言的基本框架,接着准备先学c

类,对象,类成员简介

  • 类(class)是现实世界事物的模型

    • 类是对现实世界事物进行抽象所得到的结果

    •                           事物包括“物质“(实体)与”运动“(逻辑)

    • 类保留所需要的东西;由表及里(所封装的内容)

  • 类的声明与定义

    • 在编程中,类的声明和定义是指定义一个类的结构和行为的过程。

      类的声明是指在代码中声明一个类的存在,即给出类的名称和可见性修饰符。在声明中,可以指定类的基类(如果有的话)和实现的接口(如果有的话),以及其他修饰符。

      类的定义是指在类的声明之后,定义类的成员、属性、方法和构造函数等具体实现。在类的定义中,可以定义类的字段(成员变量)、属性、方法等。

      以下是一个示例来说明类的声明和定义的概念:

      // 类的声明
      public class Person
      {
          // 类的字段
          private string name;
          private int age;
      
          // 类的属性
          public string Name
          {
              get { return name; }
              set { name = value; }
          }
      
          // 类的方法
          public void PrintInfo()
          {
              Console.WriteLine("Name: " + name);
              Console.WriteLine("Age: " + age);
          }
      }
      
      // 类的使用
      Person person = new Person();
      person.Name = "John";
      person.PrintInfo();

      在上面的示例中,Person 类首先进行了声明,使用 public 访问修饰符表示该类对外可见。然后,在类的定义中,定义了两个私有字段 nameage,以及一个公共属性 Name 和一个公共方法 PrintInfo。在类的使用部分,创建了 Person 类的实例,并通过属性和方法对其进行操作。

      通过类的声明和定义,我们可以定义和构建具有特定行为和属性的对象,实现代码的可组织性和可重用性。

  • 对象

    • 也叫实例。细微区别:一般讨论现实世界说“类与对象”,讨论程序世界说“类与实例”

    • 用"new"操作符来创建实例

    • class Student
      Student student=new student

      与引用变量关系:

      • 1对1

        Student student=new student

        引用变量不引用实例(实例不引用引用变量也可以)

        Form myForm;

        多个引用变量引用一个实例

        Form myForm1
        Form myform2
        myForm1=new Form()
        myForm1=myForm2
        //接下来是证明
        myForm1.Text="My Form"
        myForm2.ShowDialog()
        //此时运行出"My Form"说明两个引用的是同一个实例

        以及一个引用变量引用多个实例(挖个坑)

  • 类的三大成员

    • 属性(数据)

      • 在 C# 中,属性(Property)是一种特殊的成员,用于封装类的字段(Field)并提供对其访问和修改的方式。属性可以看作是类的公共接口,通过属性可以控制对类的字段的访问和操作。(储存起来,组合表示类或对象当前的状态)

      • 属性由 get 和 set 访问器组成,分别用于获取和设置属性的值。get 访问器用于读取属性的值,而 set 访问器用于设置属性的值。属性的访问器可以有不同的可见性修饰符,例如 public、private、protected 等。

        以下是一个示例代码,演示了属性的使用:

        class Person
        {
            private string name;
            private int age;
        
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
        
            public int Age
            {
                get { return age; }
                set { age = value; }
            }
        }
        
        // 使用属性
        Person person = new Person();
        person.Name = "John";
        person.Age = 25;
        
        Console.WriteLine(person.Name); // 输出 "John"
        Console.WriteLine(person.Age);  // 输出 25

        在上面的示例中,Person 类有两个属性:NameAge。通过 getset 访问器,可以通过属性来访问和修改类的私有字段 nameage。通过使用属性,我们可以控制对字段的访问,例如限制读取或设置的权限,进行输入验证等。

        需要注意的是,属性的定义中可以加入其他逻辑,例如计算属性(Computed Properties),它们不依赖于字段的直接存储,而是根据其他属性的值计算得出。

    • 方法(算法)

      • 方法是指在面向对象编程中,某个对象所具有的行为或操作,也可以理解为对象的功能。方法通常被定义在类中,可以通过类的实例对象来调用执行。方法可以有输入参数和返回值,用于完成特定的任务或操作。在程序设计中,方法是重要的组成部分之一,可以使代码更加模块化、可维护、可重用。(“真正做事,构成逻辑的成员”)

    • 事件

      • 事件(Event)基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。
      • (类或对象通知其它类或对象的机制,为C#所特有(Java通过其它办法实现这个机制)善用事件机制非常重要)
  • 静态成员与实例成员

    • 静态(Static)成员在语义上表示它是“类的成员”实例

    • 非静态成员在语义表示它是"对象的成员
    • 绑定(Binding)指的是编译器如果把一个成员与类或对象关联起来
    • 不可小觑的“."操作符——成员访问操作符eg:form.Text

 C#语言基本元素概览

        

 https://www.youtube.com/channel/UCmvAggiJGwJGSzAtqFRBQ7g

  • 关键字(按逻辑分组学习)(保留字)

    • 特殊:上下文关键字(在具体语境下才会成为关键字)
    • 有些关键字还有多种用法,或与操作符有重叠(操作符关键字)
  • 操作符

  • 标识符

    • 给变量,类等命名
    • 合法:不能与关键字冲突;可以用数字,字母(汉语)和下划线来自组成标识符,但不能以数字开(90%可用)具体可以看c#语言标识定义文档
    • 标识符前面加@变关键字
    • 命名规范:一定要有意义。eg:对类命名:名词;方法:动词(这样增加了代码的可读性)
    • 变量名:小驼峰法myVariable
    • 其他(常用于类名,属性,命名空间等。)大驼峰法MyVarable
  • 标点符号

  • 文本

    • 整数
      int x=2      //占32比特位
      long y=3L    //站64比特位,L大小写都可以推荐大写不然会与1混淆

      实数

      float x=3.0f
      double x=4.0d   //与上文类似,但d可加可不加
      //float为单精度浮点型        double为双精度浮点型

      字符

      char c='a'//单引号只能引一个字符。为字符类型
      string str="a"//“”内可为空,也可以是一串字母,与上面类型不同为字符串类型

      布尔

      bool b=true
      bool b2=false

      null

      string str=null;
      Form f=null;
      f.ShowDialog();
      //会遇到空引用错误,编写程序时需要排除
  • 注释

    • //单行注释
      /*多行注释
      (块注释)*/
      
      /*/*块注释不能嵌套/*/*

初识类型、变量和方法

  • 初识类型
    var x=3;
    Console WriyeLine(x.GetType().Name)
    //可以试试换3L,3.0
  • 变量
    • 是存放数据的地方,简称“数据”
  • 方法(旧称函数)是处理数据的逻辑,又称"算法”
  • 程序=数据+算法

方法

  • 由来

    • 是面向对象范畴的概念,在非面向对象语言中仍然称为函数
    • 函数必须部分(c语言)
    • #include<stdio>
      //返回值     //函数的名字      //(参数列表可为空)
      int          main           ()
      {
          printf("hello,world!")//逻辑
      }
      
      //{}和内部合起来成为函数体
  • 方法不能独立于类

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值