C#学习笔记(一):类

类是面向对象编程的3个主要特征(封装、继承、多态性)的基础。

C#类 用class定义,用new实例化

类结构

  • 字段Field
  • 属性property
  • 方法Method

【声明一个student类】

class student
{
	public string FirstName;
    public string LastName;
    public string City = "Shanghai";
}

【实例化一个student类】

student xiaoming=new student(); 
student zhangsan;
zhangsan = new student();
xiaoming.FistName = "Ming";
xiaoming.LastName = "Xiao";
Console.WriteLine("{0}{1};{2}",xiaoming.LastName,xiaoming.FirstName,xiaoming.City);
Console.ReadKey();

属性、字段 => 编码设计规范

					_FirstName, _firstName, m_FistName  //(推荐第一种写法)

C#没有全局变量或全局函数,C#有字段和方法;
C#静态字段不属于实例,从属于类;因此设置和获取静态字段的值要使用类名。
【封装】【创建student 私有成员PhoneNum】

private string PhoneNum="18800000000";  //默认private

 public string GetPhoneNum()
        {
            return PhoneNum;
        }

【字段标记为私有,提供取值和赋值方法来访问和修改数据】

class student
    {
        private string _FirstName;
        private string _LastName;
        private string _City = "Shanghai";
        private string _PhoneNum="18800000000";  //默认private

        public string GetPhoneNum()
        {
            return _PhoneNum;
        }
        public string FirstName
        {
            get { return _FirstName; }
            set { _FirstName = value; }
        }
        public string LastName
        {
            get { return _LastName; }
            set { _LastName = value; }
        }
        public string City
        {
            get { return _City; }
            set { _City=value; }
        }
class Program
    {
        static void Main(string[] args)
        {
            student xiaoming =new student();
            xiaoming.FirstName = "Ming";
            xiaoming.LastName = "Xiao";
            Console.WriteLine("{0} {1};{2}",xiaoming.LastName,xiaoming.FirstName,xiaoming.City);
            Console.WriteLine("{0}", xiaoming.GetPhoneNum());
            Console.ReadKey();

        }
    }

==================================================
C#3.0开始 声明属性 可简写 如public string Title{get; set}
C#6.0 可直接初始化属性值,如public string Title{get; set}=“Not English”;
【定义构造器】实现创建对象时指定必须的数据。构造器是没有返回类型的方法,且方法名完全和类名相同。
关键代码

public student(string fisrtName,string lastName) 
        {
            _FirstName = fisrtName;
            _LastName = lastName;
        }
static void Main(string[] args)
        {
            student xiaoming = new student("Si", "Li") {PhoneNum="13188888888"};//C#3.0 初始化构造器可直接初始化所有可访问的字段和属性。
            Console.WriteLine("{0} {1};{2}",xiaoming.LastName,xiaoming.FirstName,xiaoming.City);
            Console.WriteLine("{0}", xiaoming.PhoneNum);
            Console.ReadKey();

        }

集合初始化器| 构造器重载
构造器链

修饰符:
const修饰符:常量
readonly修饰符,只能用于字段,不能用于变量;它指出字段值只能从构造器中更改,或者声明时通过初始化器修改;

=======================================================
【构造函数】主要用于创建类的实例对象。创建对象实例时,构造函数会为对象分配内存空间,并初始化类的成员。
1、实例构造函数,支持方法重载;实例构造函数必须和类同名,不允许有返回类型;
2、静态构造函数,用于初始化类中的静态成员。只执行一次。
【析构函数】
【索引器】用于类包含数组成员时使用

========================================================
类与结构体区别
类是引用类型,结构体是值类型

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值