类通常用于对较为复杂的行为建模,或对要在创建类对象后进行修改的数据建模。 结构最适合一些小型数据结构,这些数据结构包含的数据以创建结构后不修改的数据为主。
一、类是一种“引用类型”。 创建类的对象时,对象赋值到的变量只保存对该内存的引用。 将对象引用赋给新变量时,新变量引用的是原始对象。 通过一个变量做出的更改将反映在另一个变量中,因为两者引用同一数据。
类的成员:1、数据:可以是静态数据(与整个类相关)或实例数据(类的每个实例都有它自己的数据副本)。通常类成员都是实例成员,除非用static进行了显式的声明。
(1)字段:与类相关的变量
public string Name;
(2)常量:用const关键字进行了显式的声明。
public const string company="软件公司“;
(3)事件:事件处理程序,例如:
private void button1_Click(object sender, RoutedEventArgs e)
{
// 创建一个对象的类型MyCustomClass.
MyCustomClass myClass = new MyCustomClass();
// 设置公共属性的值.
myClass.Number = (int)(decimal.Parse(txt1.Text.ToString()));
// 调用一个公共方法。
txtResult.Text = myClass.Multiply( (int)(decimal.Parse(txt2.Text.ToString()))).ToString();
}
2、函数:提供了操作类中数据的功能。
(1)方法:与某个类相关的函数。
(2)属性:可以在客户机上访问的函数组。
(3)构造函数:实例化对象时自动调用的函数。必须与所属类同名,且不能有返回值。构造函数用于初始化字段的值。
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Windows;
6 using System.Windows.Controls;
7 using System.Windows.Data;
8 using System.Windows.Documents;
9 using System.Windows.Input;
10 using System.Windows.Media;
11 using System.Windows.Media.Imaging;
12 using System.Windows.Navigation;
13 using System.Windows.Shapes;
14
15 namespace WpfApplication6
16 {
17 /// <summary>
18 /// MainWindow.xaml 的交互逻辑
19 /// </summary>
20 public partial class MainWindow : Window
21 {
22 public MainWindow()
23 {
24 InitializeComponent();
25 }
26
27
28 // WPF的界面中添加了一个Button(button)和TextBox(txtResult),Button点击类的定义:它包含了主要的方法,该程序的入口点。
29 private void button1_Click(object sender, RoutedEventArgs e)
30 {
31 // 创建一个对象的类型MyCustomClass.
32 MyCustomClass myClass = new MyCustomClass();
33
34 // 设置公共属性的值.
35 //myClass.Number = (int)(decimal.Parse(txt1.Text.ToString()));
36
37 // 显示myClass的字段的初始化值——也可以理解为默认值
38 txtResult.Text = myClass.Number.ToString();
39 }
40 }
41
42 // 类的定义.
43 public class MyCustomClass
44 {
45 // 类成员:
46 // 属性.
47 public int Number { get; set; }
48
49 // 方法.
50 public int Multiply(int num)
51 {
52 return num * Number;
53 }
54
55 // 构造函数.
56 public MyCustomClass()
57 {
58 Number = 0;
59 }
60 }
61 }
(4)终结器
(5)运算符
(6)索引器
二、结构是一种值类型。 创建结构时,结构赋值到的变量保存该结构的实际数据。 将结构赋给新变量时,将复制该结构。 因此,新变量和原始变量包含同一数据的两个不同的副本。 对一个副本的更改不影响另一个副本。