C#定义类(构造函数)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*
 * C#定义类
 * 类是抽象的概念,比如猫、狗可以归为动物一类
 * 类和对象的区别:
 * 对象是具体的物体,比如猫和狗属于动物类,但他们本身属于一个独立的个体,一个实际的对象
 * 类定义语法:
 * 修饰符(默认是内部的)class类名
 * {  }
 * 四种访问修饰符:指定声明的类的可访问性;
 * public:公共访问时允许的最高访问级别,对访问没有限制;
 * private:私有访问时允许的最低访问级别,私有类只有在声明它们的类和结构体中才是可访问的;
 * internal:类型和类型成员的访问修饰符,只有在同一程序集的文件中,内部类型或成员才是可访问的;
 * protected:受保护类在其声明的类中可由其所声明类的派生类实例访问;
 * 其它类修饰符:
 * abstract:用于声明虚类,指示某个类只能是其它类的基类;
 * partial:部分在整个同一程序集中定义分部类、结构和方法;
 * sealed:指定类不能被继承;
 * static:声明静态类,类型本身只含有静态成员,不能被实例化;
 * 实例化类:
 * 类  变量名 = new  类()
 * 构造方法:
 * 修饰符 + 类型(与类同名)()
 * {  }
 * 静态构造方法(静态的独立于任何具体对象)
 * 有.net调用,
 * 
*/
namespace ConsoleApplication6
{
    #region
    //internal class Program//修饰符可省略,默认内部程序集调用
    //{
    //    static void Main(string[] args)
    //    {
    //        Console.ReadKey();
    //    }
    //    public Dog dogNumOne;//定义对象
    //    public Dog dogNumTwo = new Dog();//定义对象并实例化
    //    public void Start()
    //    {
    //        dogNumOne = new Dog();//实例化对象,开辟内训空间
    //        dogNumOne.num = 10;//调用实例对象的变量(注意改变实例对象的变量不会影响类本身,也不会影响其它实例对象)
    //        dogNumOne.Name();//调用实例对象方法
    //        dogNumTwo.num = 20;//调用实例对象变量
    //        dogNumTwo.Name();//调用实例对象方法
    //    }
    //}
    //class Dog
    //{
    //    public int num;//变量
    //    public void Name()
    //    {
           
    //    }
    //    #region//实例构造方法
    //    //构造方法(如果不写,类默认有一个构造方法)
    //    public Dog()
    //    { 
        
    //    }
    //    //重载构造方法(与方法的重载一样)
    //    public Dog(int num)
    //    { 
        
    //    }
    //    #endregion
    //    #region//私有构造方法(只能在本类使用)
    //    //private Dog()
    //    //{ 
        
    //    //}
    //    #endregion
    //    #region//静态构造方法
    //    //静态构造方法(.NET内部调用,作用初始静态变量,只会在第一个对象实例时调用,只调用一次)
    //    static Dog()
    //    { 
        
    //    }
    //    #endregion
    //    #region//析构方法,用来销毁对象释放内存
    //    //析构方法
    //    ~Dog()
    //    { 
        
    //    }
    //    #endregion
    //}
    #endregion
    class Program//修饰符可省略,默认内部程序集调用
    {
        static void Main(string[] args)
        {
            Student stu = new Student("张三",'男');
            Student stu1 = new Student("小红",'女',16,90,95,80);
            stu1.Say();
            stu1.Ave();
            Console.ReadKey();
        }
    }
    class Student
    {
        private string _name;
        private char _sex;
        private int _age = 18;
        private float _chineseScore = 0;
        private float _mathScore = 0;
        private float _englishScore = 0;
        //构造函数可以重载,可以对属性初始化
        public Student(string name, char sex, int age, float chin, float math, float english)
        {
            _name = name;
            _sex = sex;
            _chineseScore = chin;
            _mathScore = math;
            _englishScore = english;
        }
        public Student(string name, char sex)
        {
            _name = name;
            _sex = sex;
        }
        //析构函数
        ~Student()
        {
            Console.WriteLine("再让我。。。");
        }
        public void Say()
        {
            Console.WriteLine("我叫{0},今年{1}岁啦,是{2}同学",_name,_age,_sex);
        }
        public void Ave()
        {
            float tatol = _mathScore + _chineseScore + _englishScore;
            float ave = tatol / 3;
            Console.WriteLine("我叫{0},这次考试总成绩{1}分,这次考试的平均{2}分",_name,tatol,ave);
        }
    }
}
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值