博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用属性升级MyBank
阅读量:4974 次
发布时间:2019-06-12

本文共 2933 字,大约阅读时间需要 9 分钟。

使用属性升级MyBank

访问修饰符

Java中的访问修饰符

Public 、protected、private

 

C#

Public公共的 访问级别最高

Private私有的 访问级别最低

 

访问修饰可以用来修饰字段(属性)和方法,用来限定类成员的访问级别

Student stu = new Student();

stu.userName = "";

stu.age = 0;

stu.show1();

stu.show2();

private string userName = "Tom";

public int age = 18;

 

 

public void show1()

{

Console.WriteLine("AAAAA");

}

 

private void show2()

{

Console.WriteLine("AAAAA");

 

}

 

This关键字(指定当前对象)

C#所有的对象都将创建在并脱管堆上

/// <summary>

/// 初始化学员

/// </summary>

/// <param name="name"></param>

public void SetName(string name)

{

this.userName = name;

}

 

public void Show()

{

Console.WriteLine("大家好:{0},今年:{1}",this.userName,this.age);

 

}

 

 

C#属性

1) 一个物体抽象出来,形成公共的类,减少代码量

2) 用方法保证数据的安全

 

做一个年龄的限制

private int age;

public string idCard;

 

/// <summary>

/// 得到年龄

/// </summary>

/// <returns></returns>

public int GetAge()

{

// 返回值

return this.age;

}

 

public void SetAge(int age)

{

if (age < 0 || age > 100)

{

this.age = 19;

}

else

{

this.age = age;

}

}

测试类

Student stu = new Student();

stu.SetAge(-10);

Console.WriteLine("年龄是:{0}",stu.GetAge());

 

stu.SetAge(35);

Console.WriteLine("年龄是:{0}", stu.GetAge());

 

Console.ReadKey();

 

用属性实现字段的封装

private string UserName;

快捷键(Ctrl + r + e)

Get访问器用来返回相应私有的字段属性,get访问器与方法相似,必须使用return返回字段值

 

Set访问器用来设置相应私有字段的值,set访问器类似于返回类型为void的方法

 

public int Age

{

get

{

return age;

}

set

{

if (value < 0 || value > 100)

{

this.age = 19;

}

else

{

this.age = value;

}

}

}

属性的数据类型

定义一个类中的属性,属性的数据类型必须与他所范文的字段类型一致(必须是整形)

属性的类型可以是一个类或者一个数组

 

属性的访问类型

属性访问类型分为三种:

1) 只读属性:只有Get

2) 只写属性:只有Set

3) 只读只写:Get+Set

 

字段和属性的区别?

通常字段是指private,在类的内部使用。讲指定属性为public,对外开发个,同常get或set提供访问安全,有效的范围保护

 

C#中的属性和方法?

C#中的属性set访问器和get访问器后面不能加“()”,因为访问器没有返回值

 

对象初始化

先创建一个Student对象在初始化

Stu.userName = “某某”;

 

对象初始化

Student stu = new Student(){username = “某某”};// 多个属性之间使用“逗号”隔开

 

 

面向对象(封装、继承、多态)

 

C#中-----封装

什么是封装:就是将东西打包

作用:隐藏类的内部细节,只对外暴露类的基本操作

好处:

1) 避免非法数据的赋值

2) 保证数据的完整性

3) 避免类内部发生修改时,导致整个程序发生变化

 

通过访问修饰符来实现

Public:公共的

Private:私有的

Protected:只有该类对象(自己)及子类对象可以访问(继承关系)

Internal:同一个程序集的对象可以访问

Protected Internal:访问限于当前程序集或派生自包含类的类型

比如说:一个人A为父亲,他的儿子B,妻子C,私生子D(注:D不在他家)

Public:地球人都知道,公开的

Private:只有A知道(隐私、私事,心事)

Protected:A,B,D(A和他所有儿子都知道,C他妻子不知道)

Internal:A,B,C知道(私生子D不知道)

Protected Internal:A,B,C,D都知道,其他人不知道

 

值传递和引用传递

 

Java中是如何数据传给方法的,通过参数的形式

int pay;// 税前工资

float taxRate = 0.1f;// 税率

float afterTax;//税后工资

Console.WriteLine("请输入税前工资:");

pay = int.Parse(Console.ReadLine());

if (pay <= 3500)

{

afterTax = pay;

}

else

{

afterTax = pay - (pay - 3500) * taxRate;

}

Console.WriteLine("税前工资{0}\n税后工资{1}",pay,afterTax);

Console.ReadKey();

 

修改后的

private static float GetPay(int pay, float taxRate)

{

float after;// 税后的工资

if (pay <= 3500)

{

after = pay;

}

else

{

after = pay - (pay - 3500) * taxRate;

}

 

return after;

 

以上是值传递

 

java中左右手换纸牌

三个abc

 

 

实现左右手换纸牌

引用传递

要想实现左右手换纸牌需要按引用传递的方式进行(需要使用ref关键字)

 

值传递(拿的是复制品)

值传递是将变量的值复制了一份,是方法的形参和实参的值相同,在调用方法中修改形参也只是对复制品做修改,并没有真正的改变实际参数的值

 

引用传递(拿的是原来参数的地址 关键字ref)

引用传递是将传递的对象引用复制给方法的形参,使被调用的方法直接对引用对象进行更改,会影响到原来的值

转载于:https://www.cnblogs.com/kk313/p/10081032.html

你可能感兴趣的文章
Java打包可执行jar包 包含外部文件
查看>>
Docker容器运行ASP.NET Core
查看>>
WPF图片浏览器(显示大图、小图等)
查看>>
.Net码农学Android---系统架构和基本概念
查看>>
Windows Phone开发(37):动画之ColorAnimation
查看>>
DevExpress的Web控件汉化方法
查看>>
js中escape,encodeURI,encodeURIComponent 区别(转)
查看>>
结对编程项目-四则运算整体总结
查看>>
Android studio怎么修改文件名
查看>>
sass学习笔记-安装
查看>>
多缓存并存
查看>>
Flask (二) cookie 与 session 模型
查看>>
修改添加网址的教程文件名
查看>>
hdu 1045:Fire Net(DFS经典题)
查看>>
[BZOJ 1017][JSOI2008]魔兽地图DotR(树形Dp)
查看>>
裁剪图片
查看>>
数据结构实习 problem L 由二叉树的中序层序重建二叉树
查看>>
VS中展开和折叠代码
查看>>
如何确定VS编译器版本
查看>>
设置PL/SQL 快捷键
查看>>