面向对象

1.类:众多对象抽象出来的

2.对象:类实例化出来的

3.类的定义

关键字 class

4.类里面包含

成员变量

成员属性

成员方法

5.面向对象三大特性

(1)封装

目的:保护类,让类更加安全。

做法:让类里面的成员变量变为私有的,做相应的方法或者属性去间接的操作成员变量

封装成员方法来间接操作类里面的成员变量

使用成员属性来间接访问类里面的成员变量

访问修饰符

private 私有的 只能在该类中访问

protected 受保护的 只能在该类和它的子类中访问

public 公有的 在任何地方都可以访问

构造方法(函数):

作用:造对象所要调用的方法,用来创建对象,可以对成员进行初始化

每一个类都有一个构造方法,不写也有只不过看不到而已

特殊性:写法特殊 执行时间特殊

this关键字:

this代表该对象,不是代表该类

(2)继承:

概念:子类可以继承父类的一切

特点:单继承 一个子类只能有一个父类,一个父类可以有多个子类 (所有父类都是object)

base关键字

sealed关键字:密封类 该类不可以被继承

部分类:partial 可以将一个类拆分成多个部分,分别放在多个文件内

namespace 命名空间 相当于虚拟文件夹

(3)多态:

1.编译多态

函数重载

2.运行多态

概念:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在调用该方法的时候表现出的不同就称为多态

条件:必须要有继承 父类引用指向子类实例 子类必须对父类的方法进重写

里氏代换原则:如果有一个地方需要使用到父类对象,那么你可以将一个子类对象给他

1.函数重载

函数重载需要的条件:函数名要相同,参数的个数或者参数的类型不同

2.this关键字

虽然写在类里面,但不是属于类的,而是属于该对象的

一般来说在类里面 this关键字是可以省略的,但是如果有一个方法形参名字和成员名字重复,这时候再调用该对象里面的成员的时候需要加this关键字

3. is关键字

判断变量是不是属于某个类型

if (y2 is Ren){s = "是一个人";}else{s = "不是一个人";}

转换类型(只能转换兼容类型,可以将子类对象转换为父类对象)

5.继承

子类可以继承父类的一切

特点:单继承

一个子类只能有一个父类 一个父类可以有多个子类

C#特殊点:所有类的祖先都是object

base关键字:在子类中代表父类对象,用法和this关键字相同

如果父类有构造方法,那么子类也要有构造方法,如果父类构造需要参数,那么子类构造也必须有相应的参数。
子类构造后面可以通过base调用父类的构造方法

public China(string m):base(m){ }

更多相关文章

  1. 深入Gradle插件开发
  2. [Innost]Android深入浅出之Binder机制
  3. Android深入浅出之Binder机制
  4. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框
  5. android资源合集
  6. 【Android】Android蓝牙开发深入解析
  7. 推荐--《Android深入浅出》
  8. Service深入分析
  9. Android之——AIDL深入

随机推荐

  1. php开发常见问题总结
  2. PHP中的进制转换
  3. PHP中关于trait使用方法的详细介绍
  4. PHP 代码优化 技巧总结
  5. php魔术常量教程
  6. PHP:微信支付服务商开发相关的那点事
  7. 使用PHP自建稳定可靠的守护程序
  8. 不要在循环体中使用array_push()
  9. PHP操作Redis的基本方法
  10. 详解正则表达式