基于类的封装[基础]


ExpandedBlockStart.gif 基于类的封装
using  System;
using  System.Collections.Generic;
using  System.Text;

namespace  Con_1
{
    
class  Program
    {
        
static   void  Main( string [] args)
        {
            Person per1 
=   new  Person();
            
// per1.Name = "刘德华";
             string  n1  =  per1.Name;    //  F11调试get和set
            
// per1.Name = "张学友";   //  姓名应该只读

            
// Person per2 = new Person("刘德华");   // 通过构造方法传值
            
// try
            
// {
            
//     string n2 = per2.Name;
            
//     Console.WriteLine(n2);
            
//     per2.Age = 500;          // 验证姓名是否合法
            
// }
            
// catch (Exception ex)
            
// {
            
//     Console.WriteLine(ex.Message);
            
// }
            Person per3  =   new  Person( " 汪涵 " );
            per3.Birthday 
=  DateTime.Parse( " 1972/2/12 " );
            
int  i_age  =  per3.Age;   // 根据生日得到年龄
            Console.WriteLine(i_age);
            
//  调用类的静态方法
            Person.Eating();
        }
    }
    
class  Person
    {
        
//  所以的字段都必须私有化 private
        
//  私有字段首字母不必大些 name 或 _name
         private   string  name;
        
//  属性  public成员必须首字母大写 Name
         public   string  Name
        {
            
//  属性作用一:读写设置
            
// 只有get访问器,则该属性只读
             get   //  获得,读取
            {
                
return  name;
            }
            
// 只有set访问器,则该属性只写
            
// set  //  设置,更改
            
// {
            
//     name = value;
            
// }
        }
        
// private int age;
        
//  属性作用二:验证输入数据的合法性和正确性
        
// public int Age
        
// {
        
//     get { return age; }
        
//     set 
        
//     { 
        
//          // age = value; 
        
//         if (value >= 0 && value <= 150)
        
//         {
        
//             age = value;
        
//         }
        
//         else throw new Exception("年龄输入不正确");
        
//     }
        
// }
         private  DateTime age;

        
public  DateTime Birthday
        {
            
// get { return age; }
             set  { age  =  value; }
        }
        
//  属性作用三:隐藏细节(通过输入生日的日期 Birthday 获得年龄 Age)
         public   int  Age
        {
            
get  
            { 
                
// return age; 
                TimeSpan ts  =  DateTime.Now  -  age;
                
return  ( int )(ts.TotalDays)  /   365 ;
            }
            
// set
            
// {
            
//      // age = value; 
            
//     if (value >= 0 && value <= 150)
            
//     {
            
//         age = DateTime.Now.AddYears(-value);
            
//     }
            
//     else throw new Exception("年龄输入不正确");
            
// }
        }
        
//  构造方法
         public  Person()
        { }
        
//  构造方法重载
         public  Person( string  n)
        {
            
this .name  =  n;
        }
        
// public Person(string n, int a)
        
// {
        
//     this.name = n;
        
//      // this.age = a;
        
// }
        
//  普通方法
         public   string  Hi()
        {
            Console.WriteLine(
" 你好 " );
            
return  name;
        }
        
//  重载:方法名相同,参数列表不同。(与返回类型无关)
        
//  参数列表不同点: 1 个数不同
        
//                  2 类型不同
        
//                  3 顺序不同
         public   string  Hi( int  i, string  n)
        {
            
return  name;
        }
        
public   string  Hi( string  n, int  i)
        {
            
return  name;
        }
        
public   string  Hi( string  n,  int  i, bool  b)
        {
            
return  name;
        }
        
//  错误:已定义了一个名为“Hi”的具有相同参数类型的成员
        
//  方法的重载与返回类型无关!
        
// public int Hi(string n, int i, bool b)
        
// {
        
//     return Age;
        
// }

        
//  静态方法
         public   static   void  Eating()
        {
            Console.WriteLine(
" 吃饭了。。。 " );
        }
    }
}


 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值