AI智能
改变未来

C#学习(一)——类、对象、方法和属性详解


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

一、相关概念:

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

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

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

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

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

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

二、类的定义与语法

1、定义类:

[修饰符] class 类名

{

类成员

}

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

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

语法:

public class 类名

{

类成员

}

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

语法:

(internal) class 类名

{

类成员

}

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

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

字段:变量

声明:类型 字段名

例:

public class Persion
{
public string name;
}

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

实例方法:

修饰符 返回值类型 方法名(参数列表)

{

方法体

}

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

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

例:

public class Example01 //实例方法

{

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

}

static void Main()

{

Example01 objA=new Example01()

objA.SayHello() //创建对象并调用方法

}

}

静态方法:

修饰符 static返回值类型 方法名(参数列表) //增加了static关键字

{

方法体

}

例:

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:内部成员

代码如下:

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

语法:

类 对象名称=new 类();

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、声明:

访问修饰符 数据类型 属性名

{

get{return 字段;} //读访问器,通过它外部用户可以读取属性的值

set{字段=value;} //写访问器,通过它外部用户可以为属性赋值,用户输入的值就存放在value关键字中,并可以进行输入值验证

}

例:

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) 只读属性:

public 数据类型 属性名称

{

get{return 字段;}

}

b) 自动属性:

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

五、方法的参数

1、值参数:按值传递

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

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

关键字:out

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

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » C#学习(一)——类、对象、方法和属性详解