为了账号安全,请及时绑定邮箱和手机立即绑定

用C#实现封装

难度入门
时长 2小时25分
学习人数
综合评分9.63
277人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.6 逻辑清晰
  • 枚举类型:右键,添加,代码文件
    查看全部
    1 采集 收起 来源:枚举

    2016-04-07

  • //@装箱和拆箱 //概念:值类型转换成引用类型的过程称为装箱;引用类型转换成值类型的过程称为拆箱。 /* 装箱例子: int if=123; object obj=i;//装箱 i=456;//改变i的内容 MessageBox.Show("值类型的值为:"+i+"引用类型的值为:"+obj); */ //输出:值类型的值为:456引用类型的值为:123 //解析:当执行i=456;语句,改变i的值时,因为i是值类型,所以只能改变它自己的值,无法修改引用类型object的值。 /* 拆箱例子: int i=123; object obj=i;//隐装箱 try{ int j=(int)obj;//拆箱 MessageBox.Show("取消装箱成功."); } catch(System.InvalidCastException ex){ MessageBox.Show(ex.Message+"错误:不正确的取消装箱."); } */ //输出:取消装箱成功. //解析:先将值类型i进行装箱,然后再将转换后的引用类型obj进行拆装处理。记住int i=123;中的i的数据类型和int j=(int)obj;中obj前面的转换类型(int)一致。如果不一致就会发生异常。所以在拆箱的时候要注意异常的处理。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • //@值类型和引用类型 /* public struct StructWaiter { public int age; public StructWaiter(int age) { this.age = age; } } //值类型演示 Main{ StructWaiter waiter1=new StructWaiter(); StructWaiter waiter2=new StructWaiter(); waiter1.age=25; waiter2=waiter1; waiter2.age=28; Console.WriteLine("waiter1="+waiter1.age+",waiter2="+waiter2.age);//waiter1=25,waiter2=28 } //引用类型演示 Main{ Waiter waiter1=new Waiter(); Waiter waiter2=new Waiter(); waiter1.age=25; waiter2=waiter1; waiter2.age=28; Console.WriteLine("waiter1="+waiter1.age+",waiter2="+waiter2.age);//waiter1=28,waiter2=28 } Ps:因为结构对象和类的对象在内存中的存储方式不同造成的,这就是值类型和引用类型的主要区别。 */ 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • Ps:枚举是值类型,枚举中不能定义字段属性和方法,枚举值是从0递增的整数。(外面引用的时候是根据enum的名称,而不是类名) @Program.cs namespace Test3 { class Program { static void Main(string[] args) { //1 //Class1 c1 = new Class1((Gender1)0); //Class1 c2 = c1; //c2.Sex = Gender1.女; //2 Class1 c1 = new Class1((Gender1)0); Class1 c2 = new Class1(Gender1.女); Console.WriteLine("{0},{1}",c1.Sex,c2.Sex);//1-女,女;2-男,女。 } } } @Class1.cs namespace Test3 { class Class1 { private Gender1 _sex; internal Gender1 Sex { get { return _sex; } set { _sex = value; } } public Class1(Gender1 sex) { _sex = sex; } } } @Gender.cs enum Gender1{ 男,女 } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    1 采集 收起 来源:枚举

    2018-03-22

  • 类中的变量默认为私有的。
    查看全部
  • ref 声明的时候加关键字ref,调用的时候也要加关键字ref, 值类型参数,按照引用类型传参。
    查看全部
    1 采集 收起 来源:ref关键字

    2016-03-21

  • 多态:父类可以接收子类对象
    查看全部
  • 枚举:限定了范围

    枚举:

    1、值类型

    2、不能定义字段属性和方法

    3、枚举值是从0递增的整数

    例子:enum Gender



    //Child c1 = new Child("梁晓雪", "女", 4);//错误    5    参数 2: 无法从“string”转换为“Gender”    
                //Child c2 = new Child("刘小牛","猴",5);
                //Child c2 = new Child("刘小牛", Gender.男, 5);
                Child c2 = new Child("刘小牛", (Gender)0, 5);


    1、创建枚举类型:项目名称,右键,添加,类或新建项(代码文件)

    2、枚举属于值类型,枚举中不能定义字段属性和方法,枚举值是从0开始的整数值

    3、枚举类型限定了一组有限的值,可以在某种程度上防止错误数据的输入


    5c2f3b160001ff7112800720-156-88.jpg

    查看全部
    1 采集 收起 来源:枚举

    2020-08-25

  • 构造方法重载:与方法重载一样,名相同但是参数不能相同。

    根据传入的参数类型选择最匹配的构造方法

    一旦定义了有参构造后,原始的默认的无参构造就失效了

    Child child1=new Child ("小小","男",4);
                Child child2 = new Child("大大",5);
                //构造方法的重载和普通方法的重载类似,形参列表不能完全相同,类会选择形参最接近的构造方法构造。
                //当构造方法被显示写出来之后,默认的无参构造方法就消失了。这一点需要注意。


    方法的重载:方法名称相同,参数的类型不同或者是参数的个数不同

    关键字:this 代表当前对象 this可以用来访问当前对象的属性,字段和方法

    构造防范的作用:为属性赋值

    如果没有显示定义构造方法,则会有一个默认的无参数的构造方法

    如果显示定义了构造方法,则没有默认构造方法

    只能用new 方法名()的形式调用构造方法


    查看全部
  • 5b6efc600001eaf212800720-156-88.jpg

    有返回值方法的调用:

    1.方法返回值的类型不应该写成void,应该写成与返回值相同的类型

    2.在执行到最后的时候用return返回计算结果

    3.调用时需要一个与返回值相同类型的变量来接受调用语句的结果


    查看全部
  • 例化对象在Main方法中,类名 对象名=new  类名();<br>
    Child xiaoming=new Child();
    有了对象后可以访问他的字段属性和方法
    访问字段:对象名.字段="值";  xiaoming._name="小明";
    调用方法:对象名.方法名();   xiaoming.PlayBall();
    输出字段:对象名.字段    xiaoming._name

    查看全部
  • this关键字可以用来表示:字段、属性、方法

    this.sex = sex;(此处用来区别重名的)

    this.sex //表示当前对象“字段”,sex //表示形参sex

    查看全部
    1 采集 收起 来源:C#中this关键字

    2020-03-31

  • this 当前

    this.对象    ->  当前对象


    查看全部
    1 采集 收起 来源:C#中this关键字

    2019-09-21

  • 对象是真实存在的,类是对对象共同特征的抽象和概况

    查看全部
  • 在定义方法时,尽量让每一个方法只完成一个单一的功能。

    返回值:用于提供方法的输出结果

    方法的返回值类型与return后类型一致

    查看全部

举报

0/150
提交
取消
课程须知
学习本课程之前,小伙伴们需要有C#语法基础,木有此项技能的童鞋们,请先移步《C#开发轻松入门》进行修炼~~
老师告诉你能学到什么?
1、类和对象的概念 2、封装的思想和实现 3、方法和构造方法 4、值类型与引用类型

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!