博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#学习历程(五)--面向对象基础
阅读量:6711 次
发布时间:2019-06-25

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

面向对象是一种编程思想,其思想上在于一切皆为对象。对象是现实世界的一种事物的映射它从类型中创建表示该类型的实例。类型和对象有区别类型是一类事物的模版集中了这类事物的通用属性,而对象是类型的实例是事物的一个个体。

一、封装

封装就是将抽象得到的数据和行为相结合现成一个统一的整体形成类其中数据和函数都是类的成员。

1.类:类是面向对象中最基础的封装类型,并且可以专门创建抽象类用于继承。类通过访问修饰符来控制类的可访问范围

2.结构:与类非常的类似最主要区别在于结构是一种值类型

3.接口:他定义了一个约定,可以被类或者结构实现。接口中包括方法、属性、索引器和事件作为成员,接口不提供它所定义的成员的实现它只定义实现该接口的类和结构必须提供的成员。

二、继承

类继承它的直接基类的成员意味着类隐式地把它的直接基类的所有成员当作自己的成员(基类中的构造函数和析构函数不被继承)

·继承是可以传递的。如果C从B派生,而B从A派生,那么C就会继承在B中声明的成员又继承A中声明的成员(但C#中类只支持单继承可以继承多个接口)

·派生类扩展它的直接基类。派生类可以向他继承的成员添加新成员,但是它不能移除继承成员的定义

·构造函数和析构函数是不可继承的。其他所有成员是可继承的无论它们所声明的可访问性如何但是根据其可访问性有些继承成员在派生类中无法访问

·派生类可以通过声明具有相同名称或者签名的新成员来隐藏这个被继承的成员(注意隐藏继承成员并不移除该成员而只是使隐藏的成员在派生类中不可直接访问)

类实例含有在该类中及他的所有基类中声明的所有实例字段的集合,并存在一个从派生类类型到它的任意一个基类类型的隐式转换。因此可以将对某个派生类实例的引用视为对它的任一个基类实例的引用

·类可以声明虚拟方法、属性和索引器,而派生类可以重写这些函数成员的实现。这使类展示出多态性行为特征即同一个函数成员调用所执行的操作可能是不同的这取决于用来调用该成员的实例的运行时类型

三、多态

多态是接口的多种不同的实现方式。多态性是允许你将父对象设置成为和一个或多个的他的子对象相等的技术,赋值后,父对象可以根据当前赋值个他的子对象的特性以不同的方式运作。

转载于:https://www.cnblogs.com/redher/archive/2013/02/23/2923433.html

你可能感兴趣的文章
ecshop标签
查看>>
阅读书籍---程序员必读系列
查看>>
C++中的单例模式
查看>>
数据库时间戳设计
查看>>
Retrofit2.0- 源码分析
查看>>
webpack笔记
查看>>
Android常用技能
查看>>
Spring Data JPA REST Query Criteria
查看>>
In FontFamilyFont, unable to find attribute android:font的报错处理
查看>>
网络编程-I/O基础
查看>>
Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)
查看>>
【跃迁之路】【721天】程序员高效学习方法论探索系列(实验阶段478-2019.2.11)...
查看>>
区块链之比特币的潜在激励
查看>>
Learning Python, 5th Edition 读书笔记 1
查看>>
【译】理解回调和Promise
查看>>
市场变冷,不要灰心。更应该延长你的黄金岁月
查看>>
又一轮子?Typescript+React+Redux,放弃saga,支持服务器渲染同构
查看>>
一起再看执行上下文/作用域链/原型链
查看>>
区块链是一种用一种不可变的形式存储数字信息
查看>>
【须弥SUMERU】宜信分布式安全服务编排实践
查看>>