博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

c1002_01 c# Day04总结

Posted on 2010-10-06 22:25  EVON168  阅读(231)  评论(0编辑  收藏  举报

1.可访问性修饰符:

Public:对任何类和成员都公开,无限制访问

Protected:仅仅对该类及该类的派生类中可公开

Private:仅对该类公开

Internal:只能在包含该类的程序集中访问该类

protected internal:只能在该类,派生类或者包含该类的程序集中访问

 

默认可访问修饰符:

namespace--默认public,不允许定义public

类--默认为internal

类成员--默认为private

interface,enum默认为internal

2.Static关键字

 静态的,不需要创建类的实例,直接可以通过类名来访问

一般修饰:

类的成员(包括类的方法)

static 成员

static 方法

static 构造函数  如果static class

3.Const关键字

 特点: 1.必须在定义的时候赋值

    2.一旦写入代码时赋过值,以后运行时不允许再修改

    3.隐藏着有一个Static

    4.Const修饰值类型====可以

    5.定义一个引用类型 String->引用类型 ====可以   比较特殊 可直接赋值如 public const string connection="server"; 

                                其他引用类型===必须赋初始值NUll public const Student s=NULl;

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConstTest
{
    
public class 圆
    {
        
private double _半径;
        
public const double PI=3.14159;
        
public double 半径
        {
            
get { return _半径; }
            
set { _半径 = value; }
        }

        
public double 面积
        {
            
get
            {
                
return 圆.PI * Math.Pow(this._半径, 2);
            }
        }

        
public 圆(double 半径)
        {
            
this._半径 = 半径;
        }



    }

    
public class Student
    {
        
public int Age;

    }

    
class Program
    {
        
static void Main(string[] args)
        {
            
//圆 y = new 圆(10);
            
//Console.WriteLine(y.面积);
            string a = "abc";
            
string b = a;
            b 
= "hello";
            Console.WriteLine(a);
            Console.WriteLine(b);
//输出abc   hello

            Student c 
= new Student();
            c.Age 
= 10;
            Student d 
= c;
            d.Age 
= 20;
            Console.WriteLine(c.Age);
            Console.WriteLine(d.Age);
//输出20  20
        }
    }
}

 4.ReadOnly关键字

 物点:

  1.可以是任何类型

  2.赋值

    在定义时赋值

    只能在构造函数中赋值

  3.不能修饰局部变量

  4.不带隐藏的Static

  5.不能强制要求必须初始化

总结:运行时只读

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ReadOnly
{
    
public class Car
    {
        
public readonly int _CarSpeed = 0;

        
public Car(int speed)
        {
            
this._CarSpeed = speed;
        }
    }

    
public class Boy
    {
        
public  Girl babywife;

        
public Boy(Girl wife)
        {
            
this.babywife = wife;
        }
    }

    
public class Girl
    { 
        
    }
    
class Program
    {
        
static void Main(string[] args)
        {
            Car c 
= new Car(100);
            Console.WriteLine(c._CarSpeed);
            Girl girl 
= new Girl();
            Boy boy 
= new Boy(girl);

            Girl girl2 
= new Girl();
            boy.babywife 
= girl2;
            Console.WriteLine(
object.ReferenceEquals(girl,boy.babywife));
            
        }
    }
}

 

 5.this关键字

this关键代表当前这个实例。

this关键字使用只有两个领域:

              在类内部访问自己类的成员:成员变量,函数方法,属性,事件

              调用自己类的另一个构造函数。

好处:只需访问自己的成员时,使用this,过滤掉不相关的提示。

不仅可以访问自己的成员,还可以访问父类的成员。this指向当前这个实例,所以只能访问实例成员,不能访问静态成员。