保持清醒,不断思考。

Mike lucis


  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 联系
  •     

© 2023 Mike lucis

Theme Typography by Makito

Proudly published with Hexo

备案号: 湘ICP备2021005917号-1

友情链接: Lonely's Bolg

ღゝ◡╹)ノ♡

C#-类-对象-方法和属性详解

发布于 2020-12-16 .NET  C# 

¶ C# 类、对象、方法和属性详解

¶ 相关概念:

  1. 对象:现实世界中的实体(世间万物皆对象)

  2. 类:具有相似属性和方法的对象的集合

  3. 面向对象程序设计的特点: 封装 继承 多态

  4. 对象的三要素:属性(对象是什么)、方法(对象能做什么)、事件(对象如何响应)

☆相互关系:类是对象的抽象,对象是类的实例,类是一种抽象的分类,对象则是具体事物。

比如如果车是一个类,某个人的一辆奔驰车就是一个对象,车的颜色质量就是它的属性,启动、停止这些动作则可以定义为车的方法。

¶ 类的定义与语法

1、定义类:

1
2
3
4
[修饰符] class 类名  
{
类成员
}

2、类的访问修饰符: public internal

a) public :可访问域是所在的程序和任何引用的程序 访问不受限制

语法:

1
2
3
4
public class 类名
{
类成员
}

b) internal :可访问域定义范围内 (默认访问修饰符)

语法:

1
2
3
4
(internal) class 类名
{
类成员
}

**3、类成员:**数据成员和字段

a) 数据成员 :字段和常量

字段:变量

声明: 类型 字段名

例:

1
2
3
4
public class Persion
{
public string name;
}

b) 方法成员 (方法是类的行为,告诉我们类能够做什么,)

实例方法:

1
2
3
4
修饰符 返回值类型 方法名(参数列表)
{
方法体
}

修饰符:如:public、private、protected、internal

返回值类型:若方法无返回值,则使用 void

例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Example01  //实例方法
{

public void SayHello() //定义一个无参无返回的方法
{
Console.WriteLine("Hello There")
}

static void Main()
{
Example01 objA=new Example01()
objA.SayHello() //创建对象并调用方法
}
}

静态方法:

1
2
3
4
修饰符 static 返回值类型 方法名(参数列表)  //增加了static关键字
{
方法体
}

例:

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Example01  //实例方法
{

public static void SayHello() //定义一个静态方法
{
Console.WriteLine("Hello There")
}

static void Main()
{
Example01.SayHello() //不需要创建对象
}
}

☆静态方法与实例方法的区别:静态方法只与类有关,它不依赖于对象的存在而存在;实例方法则在对象存在后才能使用。

4、成员的访问修饰符:public、private、protected、internal

a) public: 公有成员

b) private: 私有成员

c) protected: 保护成员

d) internal: 内部成员

例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System; 
using System.Collections.Generic;
using System.Linq; using System.Text;

namespace ConsoleApplication2
{
public class Employee
{
private float sum;
public int day;
public float wage; //定义方法输出工资信息
public void Show()
{
sum = day * wage;
Console.WriteLine("工作时间:{0},每天工资:{1},总工资: {2}",day,wage,sum);
}
}
class Program
{
static void Main(string[] args)
{
Employee employee = new Employee();
employee.day = 20;
employee.wage = 50;
//employee.sum:无法访问 因为它为私有成员
//调用方法现实工资
employee.Show();
}
}
}

¶ 实例化对象:关键字:new

语法:

1
类 对象名称 = new 类();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;  
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
public class car
{
private string carName;
private string carType;
private int price;

public string CarName
{
get { return carName; }
set { carName = value; }
}

public string CarType
{
get { return carType; }
set { carType = value; }
}

public int Price
{
get { return price; }
set { price = value; }
}

public void action()
{
Console.WriteLine("一辆名叫{0}车,型号是{1},价钱是: {2}",carName,carType,price);
}
}

//创建实例并访问字段和方法
class Program
{
static void Main(string[] args)
{
//创建car类的实例
car vehicle = new car();
//给实例赋值
vehicle.CarName = "奔驰";
vehicle.CarType = "XZ001";
vehicle.Price = 1000000;

//调用方法
vehicle.action();
}
}
}

¶ 属性

1、简介

a) **概念:**用于访问类的字段的成员

b) **属性用途:**保证数据安全,作数据的验证

2、声明:

1
2
3
4
5
访问修饰符 数据类型 属性名
{
get{return 字段;} //读访问器,通过它外部用户可以读取属性的值
set{字段=value;} //写访问器,通过它外部用户可以为属性赋值,用户输入的值就存放在value关键字中,并可以进行输入值验证
}

例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Student
{

private int age; //私有字段,防止用户直接访问
public int Age
{
get{return age;} //用于读取age的值
set
{
if((value>=18)&&(value<=45))
age=value; //为age赋值并验证
else
age=18;
}
}
}

3、特殊属性:

a) 只读属性:

1
2
3
4
public 数据类型 属性名称
{
get{return 字段;}
}

b) 自动属性:

1
public 数据类型 属性名称{get;set;}

¶ 方法的参数

**1、值参数:**按值传递

**2、引用参数:**向方法传递实参在内存中的地址,按地址传递

**3、输出参数:**从方法传递回一个结果

关键字:out

**4、数组型参数:**参数只允许是一组数组,当方法的参数前带有 params 关键字时,就是带数组型参数的方法(使用引用传递)

→ 查看原文

分享到 

 上一篇: 2020年度个人工作总结 下一篇: 信息素养格式说明及范文 

© 2023 Mike lucis

Theme Typography by Makito

Proudly published with Hexo

备案号: 湘ICP备2021005917号-1

友情链接: Lonely's Bolg

ღゝ◡╹)ノ♡