博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
控制台应用程序_笔记
阅读量:6569 次
发布时间:2019-06-24

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

 

 

 ---------------------- 、、期待与您交流! ----------------------

一:

属性的 快捷键  Ctrl+R+E

 

 

类的构造方法;

 

在我们 写一个类的时候  自动的给我们写了一个构造函数  

 

 

而 构造函数 是无参数的   

 

 

构造函数是用来创建  对象的特殊方法

方法名 和类名一样 没有返回值,连void都不用。

在创建对象的时候  就

 

构造函数的重载  

 

this    指示代词 

 

 

 

属性  共有的  任何地方可以调用 

字段  私有的   在本类中调用 

属性可以控制 只读或者只写 、读写  

字段呢? 

 

总结起来 就这么两句话   

 

 

 

get中判断的时候 我写的那个方法中用到的那个参数 是Age(属性)

 

set 中判断的时候  我写的那个方法中用到的那个参数 是_age(字段)

 

 

 

出来   out 

 

进去 出来  ref  

 

 

字符串  处理 

 

 

 

string   String   前面的是 字符串 (数据类型)  后面的是类  

 

 

但是看起来 没什么区别  

 

 

转换数组的 一个方法 

转换 小写的一个方法

转换 大写 的一个方法 

转换字符串的一个方法

又是一个方法

 

这又是一个方法  

 

 

只要通过.(就可以调用很多很多的方法啦  

一点就通 哪里不会点哪里 so easy

F1 更神奇  哪里不会 按哪里  

 

 

 

二:

类是不是可以继承

 

 

Person

Student

Teacher

 

三个类

 

 

因为学生和老师  他们 都是人

 

所以 抽象 出来了一个 

 

然后呢 我让 学生和老师 都继承 了Person

 

需要怎么做呢 ?  在 Student后面加上一个冒号:Perosn

 

Person中可以有构造函数

 

子类中也可以有构造函数

 

既然 都能构造函数 

 

那我 可不可以 也 调用一下 父类中的 构造函数呢    

 

第一 如果子类继承父类 

 

 

是不是可以自动的用到了 父类的字段 或者说属性 

 

通过一个有参的构造函数再用一个关键字base ()把参数传过去了 

 

子类 就能用到父类的构造函数 然后间接的 给父类的字段赋值了  

 

 

 

 

 

 

 

里氏替换

 

 

is 的语法:

 

布尔类型 变量 子类对象 is 父类

如果布尔类型的变量为true 转换成功了

如果为false  就是不能转换 没成功

 

 

is的用法

对象或者是实例 is 类型名

这个表达式可以返回一个bool值,表示是否可以转化

 

判断父类能否转化为子类的时候常常使用

 

 

父类要想转成子类  要强制转换  和之前的 in tdouble 之间转换很像 

 

 

 

as 语法:

类型名 变量名 某个对象或实例 as 类型名;

 

类可以进行转换 

 

隐式转换  显示转换(强制转换)

 

 

有的时候转换可能会 出问题  

可以通过  is  或者as 进行 判断转换  

 

 

这样 就 不会报错了 

 

 

 

三:

 

里氏转换

 

 

 

Person  p1=new  Person();

 

 

Strudent stu=new Student();

 

 

 

Person  p2=stu;

 

 

Student stu2=(Student)p1;

 

 

隐式转换 强制转换     

 

 

is 或者 as   判断 两者的区别   先判断再转换 

 

 

 

Hashtable

同样的  也可以添加 和 删除  

 

hsb.Contains("234");

                hsb.ContainsKey(123);

两种方法 都是 找里面的键 存不存在   没什么不一样的   只是方便而已 

 

 

就是查找这个 hashtable 里面 有没有这个键  

 

因为 Hashtable

 的add()方法里 的参数是obj类型  

 

那如果我想 把里面的内容  读出来的时候 是不是涉及到了 里氏转换  

 

 

foreach 语法:   的用法

 

 

 

foreach(要循环访问的集合中对象的类型 表示集合中的元素的标识符 in 要循环访问的集合或数组的名称)

{

 

}

循环的过程

-> 总是从开始,一直循环到结束,中间不会停下来,除了break

 

临时变量的类型

-> 设断点查看

-> 使用var判断

 

1、泛型集合

就是为了专门处理某种类型

 

ArrayList对应的是List<类型名>

-> 在尖括号中写什么类型,这个集合就变成了什么类型的集合

-> 添加数据、插入数据、索引访问数据都是这个类型的,不用考虑所有的转化问题

 

Hashtable对应的是Dictionary<键的类型值的类型>

-> 在尖括号中填入键的类型与值的类型,那么这个集合就变成了一个指定的键值对模型

-> 其使用方式与Hashtable一样

 

2Hashtable

ArrayList为什么要有ArrayList

-> 因为数组的长度问题

-> 提供很多方法

泛型集合

List<T>集合Arrayist的区别是什么?

-> 类型可以自定义

 

Hashtable集合,为什么要有这个集合

-> 查找

-> 想要查找,就得有一个对应关系

-> 就是通过键值来提供

-> 就需要将键与值用一种办法绑定到一起

-> Add()

-> 访问键的时候,可以直接找到值

-> 用什么方法,通过键访问到值

-> hashtable[返回一个值

-> 但是hashtable中都是object类型,因此使用时要考虑强传

泛型集合

Dictionary<TKey, TValue>集合Hashtable的区别

还是类型问题

泛型类型

List<类型名>

int做示例

1、创建:

List<int> intList = new List<int>();

2、加数据

intList.Add(int类型的数据);

intList.AddRange(int类型的数组与集合);

3、插入数据

intList.Insert(位子索引要插入的数据);

4、移除

intList.Remove(要删除的数据);

intList.RemoveAt(要删除的索引);

5、清空

intList.Clear();

6、如何获得集合的长度

intList.Count

7、怎么访问某一个数据

intList[index];

8、如果想要修改索引为8的数据

intList[8] = 80;

 

>---------------------- 、、期待与您交流! ---------------------- 详细请查看:

转载于:https://www.cnblogs.com/lovexiao/archive/2012/04/19/2458550.html

你可能感兴趣的文章
mysql数据库从删库到跑路之mysql完整性约束
查看>>
简单的Writer和Reader
查看>>
zabbix学习(四)IT_Service管理
查看>>
linux 下的lamp的简单安装
查看>>
Typescript 其实就想排个序和枚举取数
查看>>
virt-manager管理kvm
查看>>
python测试rabbitmq的消息收发
查看>>
熊猫直播Rancho发布系统构建之路
查看>>
DbUtils
查看>>
mac 环境下 制作windows系统U盘启动盘
查看>>
JMeter基础之一个简单的性能测试
查看>>
让批处理运行不显示窗口的两个方法
查看>>
江苏省环保厅数据中心同城灾备建设项目
查看>>
hadoop 安全模式
查看>>
我的友情链接
查看>>
新手教程:用.htaccess实现二级域名功能
查看>>
How to attack a windows domain
查看>>
安装完Arch后,要安装的软件
查看>>
洛谷——P2035 iCow
查看>>
空类,虚函数类,虚继承类的空间大小
查看>>