封装

封装

oop的特征这一。将用户不必了解的实现细节隐藏。保护数据的完成性。和封装紧密相关的概念是数据保护,使用访问修饰符实现。

public,公共成员可从对象及任何派生类访问。

private,只能由定义它的类访问

protected,只能由定义它的类和派生类访问。

这样用户就不能直接改变或获取底层的值

类型是C#里基本的数据类型,由字段数据,构造函数,属性,方法,事件等构成的自定义类型。将数据相关功能集合在类定义中,我们就可以依照现实生活中的实体来设计软件。

字段

字段很少定义为公共的(public)。为了保护数据的完整性,最好将字段字义为私有的,或者是受保护的。然后定义一个属性访问和修改方法字段值。

常量,如果不希望其它开发人员改变代码中的这个值,可以使用常量。public const double PI=3.14。常量字段隐匿静态

的。

只读字段不能在赋初值后改变,public readonly double PI

 

属性

//只读属性

public string name{get{ return _name;}}

 

//只写属性

public int age{set{ return _age}

//自动属性

public int age{set;get;}

new 

使用new关键字返回的是一个指向堆上对象的引用,而不是对象本身。如果在方法作用域中将引用变量声明为本地变量,这个引用变量保存在栈内,以供应用程序以后使用。

//在托管堆创建一个新的Car对象。返回一个对这个对象的引用。

Car refToMyCar=new Car();

值类型是分配在栈上,而从来不会放在托管堆上。只有在创建类的实例时,才会在堆上分配。

构造函数

把新对象分配到内存中,确保所有字段数据都设置为正确的默认值

this

提供对当前对象的访问。解决当前传入参数的名字和类型相同的情况。

static

字义静态成员。这样就可以直接从类级别而不是对象引用调用。

静态方法一般是非常普遍的项。静态数据分配一次并且在相同类型的所有对象之间共享。

   public class SavingsAccount

    {

        public static double currBalance;

        

        public void ShowcurrBalance() {

            Console.WriteLine(currBalance);

        }

    }

 

            SavingsAccount.currBalance = 101.1;

            SavingsAccount sa = new SavingsAccount();

            

            sa.ShowcurrBalance();

 

            SavingsAccount sa2 = new SavingsAccount();

            sa2.ShowcurrBalance();

            Console.ReadKey();

 

   //101.1

      //101.1

在构造函数中为静态数据赋值,每次新建对象的时候,值会被重置。

 

            SavingsAccount.SetcurrBalance(1.12);

            SavingsAccount sa = new SavingsAccount(1.1);

            

            sa.ShowcurrBalance();

 

            SavingsAccount sa2 = new SavingsAccount(33.4);

            sa2.ShowcurrBalance();

            Console.ReadKey();

 

 

    public class SavingsAccount

   {

       public static double currBalance=11.0;

       public SavingsAccount(double balance) {

           currBalance = balance;

       }

 

       public static void SetcurrBalance(double balance) {

           currBalance = balance;

       }

 

       public void ShowcurrBalance(){

           Console.WriteLine(currBalance);

       }

   }

   //1.1

   //33.4

 

 

 

 


转载于:https://my.oschina.net/linyuanxiao/blog/264280

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值