先学习一下语言的基本框架,接着准备先学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
访问修饰符表示该类对外可见。然后,在类的定义中,定义了两个私有字段name
和age
,以及一个公共属性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
类有两个属性:Name
和Age
。通过get
和set
访问器,可以通过属性来访问和修改类的私有字段name
和age
。通过使用属性,我们可以控制对字段的访问,例如限制读取或设置的权限,进行输入验证等。需要注意的是,属性的定义中可以加入其他逻辑,例如计算属性(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!")//逻辑 } //{}和内部合起来成为函数体
- 方法不能独立于类