• C#-类和对象


    VS类和对象
     
    • 静态成员、静态方法
    属于类,不属于对象,调用时直接用类
    实例成员属于类本身,即只是类对象自己用。静态成员属于所有对象,即所有对象都可用。
    static string aString
    static GetaStringLength()
     
    属于类成员
    一般是private,如果是private,类外部一般用域存取
    string BSring;
     
    常数域。默认静态的,必须使用初始值设置。
    const int anum=1;
     
    只读域。如果是静态的,必须在声明时用初始值;普通的必须在构建函数赋值。
    readonly string astring;
     
    • 对象包含对象
    可设置为,域代表对象,实现对象包含对象。即has a  使用时,用对象名.域名(或属性名).被包含对象名 。使用时,需生成对象和被包含对象,然后把被包含对象的内存地址赋给外对象的域。
    另一种一个对象包含另一个对象的现象是,类中包含另一个类,即嵌套类,在外部不用内类时这样做,用法???。
    • 属性
    域的包装,通过属性获取改变域,属性本身不保存,用域保存。域和方法是类的成员
    private string aString;
    YaSring隐含有value参数
        get
        {
            return aString;
        }
        set
        {
            aSring =value;
        }
    myclass.YaSring = "1";隐含调用了属性给私有域赋值
    • 方法
    属于类成员
    • 函数方法重载
    函数方法名相同;参数不同,如参数个数不同,参数类型不同;返回值可以不同
     
    • 构建函数
    构建函数,与类同名,创建对象时调用
    创建对象 myclass myobject = new myclass(); myclass()创建一个对象, new分配一个内存地址, =把新对象的内测地址存到myobject, myclass声明myobject变量,即myobject保存的是新对象的内存地址
    可以用=null,取消对象的引用。                  
    • 析构函数,
    ~加类名
    • 命名空间
    用于区分同名类,可嵌套命名空间,即多对{} 或 命名空间.命名空间.命名空间
    • 存取限制
    private 类中可用
    public 公用
    protect interval 类、程序内部、派生类可用
    intereval 类、程序内部可用
    protect   类、派生类可用
    • 参数传值
    调用方法的变量值不变,方法的参数值是拷贝的。
    • 参数传引用
    调用方法的变量,在方法内可改变。传递的是变量的引用,即内存地址
    调用语句前面加ref ,方法也加ref
    • 参数返回值
    调用语句加out,方法前也加out,当需要方法返回多个值时有用,因方法的返回值只有一个。
    • 隐藏
    可在方法内再声明与类同名的变量,在方法内,变量默认就是方法声明的变量,隐藏了方法所属类的变量。
    在隐藏了变量的方法内,需要使用被隐藏的类的变量时,用this.变量名,this代表当前对象。
    • 生命周期
    是否在生命周期内,决定变量是否在内存中有地址。
    对象没创建,就不在生命周期,没对应内存地址。
    如当变量不再被使用,就在后续,所占的内存地址,按垃圾回收机制被自动回收了。
    • 默认值
    int 0
    字符型 /0
    (字符)串 null
    bool false
    对象默认值 null
  • 相关阅读:
    Qt5对付中文真好用
    Qt5下的常见问题————C1083
    macbook pro retina 编程字体推荐
    boost::xml————又一次失败的尝试
    boost::xml——基本操作以及中文乱码解决方案 (续)
    C++单元测试2
    C++单元测试
    生成dll文件的示例
    咋一看你能看明白吗?
    boost::function实践——来自《Beyond the C++ Standard Library ( An Introduction to Boost )》
  • 原文地址:https://www.cnblogs.com/yinlg/p/4904737.html
Copyright © 2020-2023  润新知