-
1、 面向对象设计思想使用三种基本的设计手段:封装、继承、多态来模拟现实世界的事物。 2、 一个小朋友是对象,多小朋友的特征总结出来就是类。 3、 人这个类有姓名、性别、年龄、身高、爱好等特征。 姓名、性别、年龄、身高是静态特征,它们通常是一个名词,可用字段属性来表示; 而爱好是动态的行为,它是一个动词,难以用文字或数字来描述,可用方法来实现, 例:定义一个关于小朋友的类 class Child { stirng _name; //姓名 string _sex; //性别 int _age; //年龄 字段,用来描述小朋友的静态特征 int _height; //身高 void PlayBall() //方法的声明 {//方法体,方法的实现 方法,用来描述小朋友的动态行为 //代码略 } } 创建一个小朋友类的对象,也叫类的实例化,如: Child xiaoMing=new Child(); //实例化了Child类的对象查看全部
-
封装就是隐藏对象的信息,留出访问的接口。在C#中,我们常使用属性对字段进行封装。 private string _sex;//隐藏的字段 public string Sex//公开的属性 { //get、set访问器 get//只读 {return _sex;} set//只写 {_sex=value;} } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
//构造方法的作用:为属性赋值 //如果没有显示定义构造方法,则会有一个默认的无参数的构造方法 //如果显示定义了构造方法,则没有默认构造方法 //只能用 new 方法名() 的形式调用构造方法 //构造方法通常声明为public //构造方法没有返回值类型 //构造方法名必须与类名相同查看全部
-
变量的定义范围不同可以重名
查看全部 -
属性封装技巧:
private 数据类型 _字段名称;
public 与上数据类型保持一致 字段名称(首字母大写)
{
get{ return _字段名称; }//读访问器
set{ _字段名称 = value; }//写访问器
}
新字段名称在Main中的也要引用出来。
封装快捷键:Ctrl + R + E
查看全部 -
对象和类
静态特征:字段+属性
动态行为:方法
class Child
{
string_name;//姓名
string_sex;//性别
int_age;//年龄
int_height;//身高
void PlayBall()
{
//代码略
}
}
查看全部 -
ref关键字可以把值传递变为引用传递; ref不能用于修饰对象的“属性”; 若形参前加了ref,那么实参前也要加ref。查看全部
-
修改属性查看全部
-
4、方法传参中的值类型参数和引用类型参数 例: static void Growth(Child child)//引用类型参数,按引用传参 { child.Age++; Console.WriteLine(“我又长大了一岁!”); } static void Growth(int age)//值类型参数,按值传参 { age++; Console.WriteLine(“我又长大了一岁!”); } static void Main() { Child c1=new Child(“小明”,Gender.男,5); Growth(c1);//按引用传参,方法修改形参,通常实参也会被修改 Growth(c1.Age);//按值传参,方法修改形参,实参不会被修改 Console.WriteLine(“我现在{}岁了!”,c1.Age); } 二种传参结果会不同,值类型传参显示的年龄还是5,引用类型传参显的的年龄是6。查看全部
-
2、结构体也可以象类一种包含字段、属性和方法。 例: struct Dog//结构 { string _name;//结构中可以定义字段,但不能赋初始值 public string Name//结构中可以定义属性 { get{return _name;} set{_name=value;} } public void Sing()//结构中可以定义方法 { Console.WriteLine(“汪汪”); } public Dog(string name)//结构中只能显式定义有参构造方法,且要把所有字段赋值 { _name=name; } } ……Main方法中 Dog dog=new Dog();//结构也可以不用实例化对象,即可将=new Dog()去除,定义在Main方法之外 Dog.Name=”小白”; Console.WriteLine(“名字”+dog.Name); dog.Sing(); 结构与类的区别: 结构是值类型,类是引用类型; 不能为结构中的字段赋初始值; 结构中的构造方法中必须为所有字段赋值; 不能为结构显式定义无参的构造方法; 结构类型的对象可以不实例化,可以定义在Main方法之外; 结构与类的共同点: 结构中可以象类一样定义字段、属性和方法。查看全部
-
将set属性删除就是只读属性,则Main中不能为属性赋值了,想要赋值 1.可以得在Child.cs中为字段直接赋值:private string sex="男";同样的也不能在Main中修改; 2.用构造方法查看全部
-
方法怎么定义的就要怎么去调用(有参数的方法调用时需要付给实参)查看全部
-
写访问器作用是为字段赋值查看全部
-
读访问器的作用是返回字段值查看全部
-
return 返回一个值 out 可以返回多个值 out 在函数输出时必须要赋值, 在调用函数时要有实参 来接收函数输出的结果查看全部
举报
0/150
提交
取消