c#面向对象02

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)、我们可以讲字符串看做是char类型的一个只读数组。
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、Driver  子类  派生类
Person                     父类  基类
子类继承了父类,那么子类从父类那里继承过来了什么?
首先,子类继承了父类的属性和方法,但是子类并没有继承父类的私有字段。
问题:子类有没有继承父类的构造函数?
答:子类并没有继承父类的构造函数,但是。子类会默认的调用父类无参数的构造函数,
创建父类对象,让子类可以使用父类中的成员。
所以,如果在父类中重新写了一个有参数的构造函数之后,那个无参数的就被干掉了,
子类就调用不到了,所以子类会报错。
解决办法:
1)、在父类中重新写一个无参数的构造函数。
2)、在子类中显示的调用父类的构造函数,使用关键字:base()

6、继承的特性
1、继承的单根性:一个子类只能有一个父类。
2、继承的传递性

7、查看类图

8、object是所有类的基类。

9、new关键字
1)、创建对象
2)、隐藏从父类那里继承过来的同名成员。
隐藏的后果就是子类调用不到父类的成员。

时间: 2024-07-31 07:38:51

c#面向对象02的相关文章

Python面向对象02/类的空间问题

Python面向对象02/类的空间问题 内容大纲 1.从空间角度研究类 2..类与类之间的关系 1.类的空间问题 1.1何处可以添加对象属性 在类的__init__可以添加,在类的方法也可以添加,在类的外部也可以添加 # class Human: # # mind = '有思想的' # # def __init__(self, name, age): # self.name = name # self.age = age # # def eat(self,argv): # # self.hobb

20150110--魔术方法魔术常量+面向对象-02

设计模式 1. 什么是设计模式? 指的是一种已经成熟话的设计规范,通过这种规范,能够达到某种指定的要实现的效果. php中,只有简单的设计模式:单例模式,工厂模式 单例模式 1. 什么是单例模式? 单例模式,只有一个实例(对象),一个类只能产生一个对象. 要实现单例模式,必须解决以下问题 1. 确定有哪些方式可以产生新的对象:new和clone,必须禁用这两种方法:私有化构造方法和克隆方法 2. 如何在封闭了外部产生对象的途径之后,进入到内部产生?解决方案:静态方法,可以不需要在外部创建对象的前

面向对象02 继承

继承 :解决代码的重复 #继承语法 class 子类名(父类名):pass class A: pass class B(A): pass # A 父类 基类 超类 # B子类 派生类 子类可以使用父类中的 : 方法和静态变量 class Animal: def __init__(self,name): self.name = name def eat(self): print('%s is eating'%self.name) def drink(self): print('%s is drin

面向对象02

当我们谈到类和对象的时候,我们在做的基本的事情就是-->定义一个抽象数据类型 类是什么?对象的实例的模板 我们先谈谈面向的对象的特性: class Person(object): def __init__(self,Name,Rrror): self.name =Name self.error = Rrror def pr(self): print self.name def re(self): return self.error p1 =Person("xiazhi",&quo

python基础之面向对象02

---继承 当我们定义完成某个类时,可以再定义一个新类,新类可以继承第一个类.新类被称为子类,而被继承的类称为父类/基类/超类. 继承可以使子类使用父类中的方法,也可以在子类中新定义某个方法,或者在子类中覆盖父类的方法. 来看一个实例: class animal(object): #定义一个动物类 def running(self): print('running....') class dog(animal): #定义一个狗类,且狗类继承动物类 def wangwang(self): prin

面向对象-02

#类的成员 #成员修饰符 #类的特殊成员 类的成员 注意:所有成员中,只有普通字段的内容保存在对象中,即,根据类创建了多少个对象,那么在内存中就有多少个普通字段.而其他成员,无论创建对象多少个,在内存中只创建一份 一.字段字段包括:普通字段.和静态字段(顾名思义,就是不变的意思,即:内存地址不变) #普通字段属于对象 #静态字段属于类class A: #静态字段 name = 'tom' age = 18 def __init__(self, name): #普通字段 self.name = n

Java知识系统回顾整理01基础02面向对象02属性

一.根据实例给出"属性"的定义 一个英雄有姓名,血量,护甲等等状态? 这些状态就叫做一个类的属性 ? ? 二.属性的类型 属性的类型可以是基本类型,比如int整数,float 浮点数 也可以是类类型,比如String 字符串 ? ? public class Hero { ????String name; //姓名 ????float hp; //血量 ????float armor; //护甲 ????int moveSpeed; //移动速度 } ? ? 三.属性的名称 属性名称一

Python之旅(八)面向对象02

isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类(子类) class Animal(): pass class Dog(Animal): pass d1 = Dog() # 检查d1是不是Dog的一个对象 print(isinstance(d1, Dog)) print(issubclass(Dog

百度刚放假啊数据库风口浪尖萨拉疯了

http://www.ebay.com/cln/l_x5585/2015.02.11/176746639012 http://www.ebay.com/cln/jiacha_boryk/2015.02.11/176837188016 http://www.ebay.com/cln/gbnlin0/2015.02.11/176837189016 http://www.ebay.com/cln/j_j2841/2015.02.11/177066749015 http://www.ebay.com/c