zoukankan      html  css  js  c++  java
  • c# 面向对象 继承方式,字段,属性,析构器等意义和写法

    1.字段(类中私有保存数据的变量,和java一样),属性(字段对外展示的代理变量,内置get,set方法,可以在get set方法中写逻辑),构造器(调用对象本省的其他构造器方式和java不同),析构器(在程序结束前最后自动执行的一个函数,一般用于数据清理释放资源,一般不太用,因为有gc回收器)。

    测试类:

    using System;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Student student = new Student(23,"ssssss");
                Student student = new Student(23);
                Console.WriteLine("id:{0} name:{1}", student.Id, student.Name);
                Console.ReadKey();
            }
        }
    }

    被调用的类

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace ConsoleApp1
    {
        class Student
        {
            /// <summary>
            /// 构析函数:此函数是在程序结束的时候调用,一般用来清理数据释放内存,当然c#中也有gc但是一样不受管理,
            /// 所以如果想在程序结束后立即清理垃圾释放内存就可以在这儿清理。
            /// </summary>
            ~Student(){
                Console.WriteLine("在程序结束前最后自动调用的一个函数,主要用于垃圾清理");
            }
    
            /// <summary>
            /// 带id的构造器,里面演示了此构造器调用当前对象的其他构造器的方法。
            /// </summary>
            /// <param name="Id"></param>
            public Student(long Id) : this(Id, "小刚") { }
    
            /// <summary>
            /// 全参构造器
            /// </summary>
            /// <param name="Id">id</param>
            /// <param name="Name">姓名</param>
            public Student(long Id, string Name) {
                this.Id = Id;
                this.Name = Name;
            }
    
            /// <summary>
            /// 空构造器
            /// </summary>
            public Student() { }
    
            /// <summary>
            /// 字段:_id 类中最终保存数据的地方
            /// 属性:Id 对外展现数据的名称,里面包含get,set属性,可以在get,set方法中添加自定义的代码
            /// 调用示例: 
            /// Student student = new Student();
            /// student.Id = 22222; 赋值"set"
            /// long newId = student.Id; 取值"get"
            /// </summary>
            private long _id;
            public long Id
            {
                get => _id; 
                set => _id = value; 
            }
    
            /*
             * _name是字段名,Name是属性名:属性中包含get和set方法。
             */
            private string _name;
            public string Name
            {
                get { return _name; }
                set
                {
                    if (value.Equals("小明"))
                    {
                        value = "娜可露露";
                    }
                    _name = value;
                }
            }
        }
    }
  • 相关阅读:
    windows下mysql多实例安装
    linux下mysql多实例安装
    redisAPI整理
    Flink
    Google Dremel架构
    Apache Kylin
    Phoenix概述
    SQL on Hadoop技术综述
    AES对称加密算法
    Hawq架构
  • 原文地址:https://www.cnblogs.com/li-yan-long/p/14000989.html
Copyright © 2011-2022 走看看