美文网首页
C#基础第九天(面向对象)

C#基础第九天(面向对象)

作者: 达茂人在北京 | 来源:发表于2016-04-26 10:36 被阅读0次

1、命名空间

可以认为类是属于命名空间的。

如果在当前项目中没有这个类的命名空间,需要我们手动导入这个类所在的命名空间。

1.用鼠标去点

2.alt+shift+f10

3.记住命名空间,手动的去引用

2、在一个项目中引用另一个项目的类

1.添加饮用

2.引用命名空间

3、值类型和引用类型

区别:

1.值类型和引用类型在内存上存储的地方不一样。

2.在传递值类型和引用类型的时候,传递方式不一样。

值类型我们称之为值传递,引用类型称为引用传递。

我们学的值类型和引用类型

值类型:int.double.bool.char.decimal.struct.enum

引用类型:string.自定义类.数组

存储

值类型的存储在内存栈中

引用类型存储在内存的堆中

3、字符串

1.字符串的不可变性

当你给一个字符串重新赋值之后,老值并没有销毁,而是重新开辟一块空间存储新值。

当程序结束后,gc扫描整个内存,如果发现有的空间没有被指向,则立即把它销毁。

2.我们可以讲字符串看做是插入类型的一个只读数组。

tochararray();将字符串转换为char数组

new string(char[]chs):能够将char数组转换为字符串

4、字符串提供各种方法

1.length:获得当前字符串中字符的个数

2.toupper():将字符串转换成大写

3.tolower():将字符串转换成小写

4.equals(lessontwo,stringcomparison。ordinalignorecase):比较两字符串,忽略大小写

5.split()分割字符串,返回字符串类型的数组

6.substring():解决字符串,在截取的时候包含要截取的那个位置

7.indexof():判断某个字符串中第一次出现的位置,如果没有返回值-1.值类型和引用类型在内存上存储的地方不一样

8.LastIndexOf():判断某个字符串在字符串中最后一次出现的位置,如果没有同样返回-1

9.StartsWith():判断以....开始

10.EndsWith():判断以...结束

11.Replace():将字符串中某个字符串替换成一个新的字符串

12.Contains():判断某个字符串是否包含指定的字符串

13.Trim():去掉字符串中前后的空格

14.TrimEnd():去掉字符串中结尾的空格

15.TrimStart():去掉字符串中前面的空格

16.string.IsNullOrEmpty():判断一个字符串是否为空或者为null

17.string.Join():将数组按照指定的字符串连接,返回一个字符串

5、继承

我们可能会在一些类中写一些重复成员,我们可以将这些服用成员单独封装到一个类中,作为这些类的父类。

student.teacher.diver.                   子类  派生类

person                                          父类   基类

子类继承父类,那么子类从父类那里继承过来了什么

首先,子类继承了父类的属性和方法,但是子类并没有继承父类的私有字段

问题:子类有么有继承父类的构造函数

答:子类并没有继承父类答构造函数,但是子类默人会调用无参的构造函数,

创建父类对象,让子类可以使用父类中的成员

所以,如果在父类中重新写一个有参数的构造函数之后,那个无参数的就被干掉了

子类久调用不到,所以子类会报错。

解决办法

1.在父类中重新写一个无参的构造函数

2.在子类中显示的调用父类的构造函数,使用关键字  base()

6、继承的特性

1.继承的单根性:一个子类只有一个父类

2.继承的传递性

7、查看类图

8、object是所有类的基类

9、new关键字

1.创建对象

2.隐藏从父类那里继承过来的同名成员。

隐藏的后果就是子类调用不到父类的成员

继承

继承的构造函数

值类型和引用类型

字符串的不可变性

相关文章

  • 从零开始学C#--一些其它的问题

    本篇属于:从零开始学C# | 基础篇 | 06 到本篇为止,C#的基础篇就完结了,即将进入到面向对象的学习。 关于...

  • C#面向对象基础

    oop:面向对象,全称叫 object oriented programming 面向对象的三大特性:1.封装 ...

  • C#面向对象基础

    Static:调用本类对象的时候可以直接调用(不用创建对象,模拟全局变量) This:表示当前类的对象 3.属性(...

  • C#面向对象基础

    基本概念 面向过程:完成这件事的过程,强调完成的动作 把大象放进冰箱:1.打开冰箱门;2.把大象塞进去3.关闭冰箱...

  • 菜鸟上路,欢迎指正

    1:C#面向对象小结:

  • C#基础第九天(面向对象)

    1、命名空间 可以认为类是属于命名空间的。 如果在当前项目中没有这个类的命名空间,需要我们手动导入这个类所在的命名...

  • C#面向对象基础3

    1.序列化与反序列化序列化:对象转换为二进制(为了传输数据,计算机以及网络中的数据都是以二进制进行识别) [Ser...

  • C#面向对象基础2

    1.里氏转换: 子类可以赋值给父类 如果父类创建的是子类对象,那么可以将父类强制转换为子类 Is可以判断一个类的对...

  • c#与objective-c

    C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言。C#以.NET框架类库作为基础,拥有类似Visua...

  • 建议27:明晓类公共领域的方法都是虚方法

    众所周知,在C++,C# 等面向对象开发语言中,虚方法(函数)是实现“多态”的基础,其实现原理:运行系统将根据对象...

网友评论

      本文标题:C#基础第九天(面向对象)

      本文链接:https://www.haomeiwen.com/subject/utpqrttx.html