C#面向对象的三大特征继承、封装、多态学习总结

1.基类和扩充类

(1)C#实现继承的方式:类继承和接口继承

(2)继承用冒号(:)表示。被继承的叫做父类或者基类,从基类继承的类叫扩充类,又叫派生类或子类。所有类的基类System.Object

声明方式:[访问修饰符]class 扩充类名称:基类名称

{

}

若B继承自A,也可以使用强制转换操作将其转换为A对象。如:A b=(A)new B();此时,B对象将被限制为A对象的数据和行为,而无法再访问B对象中的数据和行为,除非A中的方法被B重载,将会访问B的方法。将B强制转换为A后,还可以将A重新转换为B,但是,并非A的所有实例在任何情况下都可强制转为B,只有实际上是B的实例的那些实例才可以强制转换为B。

(3)扩充类不能继承基类中定义的private方法,只能继承基类的public成员或者protected成员。

(4)初始化基类时,会首先调用基类的构造函数在调用扩充类的构造函数。

2.多态性:

(1)定义:同一操作作用于不同类的实例,不同的类将进行不同的解释,最后产生不同的结果。即:建立一个父类的对象,它的内容可以是这个父类的,也可以是这个子类的,子类和父类都定义有相同的方法;当使用对象调用这个方法的时候,父类里的同名对象将被调用,当在父类的这个方法前加virtual关键字,子类的同名方法将被调用。

(2)实现多态的方法:

(I)通过继承实现。多个类可以继承自同一个类,每个扩充类可根据重写基类成员以提供不同的功能。

(II)通过抽象类实现。抽象类本身不能被实例化,只能在扩充类中通过继承使用。抽象类的部分或全部成员不一定都要实现,但要在继承类中全部实现,抽象类中已实现的成员扔可以被重写,并且继承类仍可以实现其他功能。

(III)通过接口实现。接口仅声明类需要实现的方法、属性、事假;以及每个成员需要接受和返回的参数类型,而他们的特定实现需要实现类去完成。

时间: 2024-10-10 23:11:47

C#面向对象的三大特征继承、封装、多态学习总结的相关文章

面向对象的三大特征:继承 封装 多态

面向对象: 面向对象专注于由谁来解决这个过程,而调用者无需关注对象实现的细节 编程特点: 出现了一个个的类,从类中拿到对象,通过对象直接解决问题 类:具有一系列相同属性(特征)和方法(行为)的个体的集合 称为类 类是一个抽象的概念,只能说类具有哪些属性而不能直接对类进行赋值 例如 人类有身高这个属性,但是不能说人类的身高是180 对象:从类中拿出具有具体属性值的个体,称为对象 对象是从类中拿出的一个具体的个体,需要对属性进行具体的赋值 例如 人类有身高这个属性,张三是人类的一个个体,就可以说张三

面向对象的三大特征,封装、继承、多态的个人理解以及代码分析

面向过程:我们以前使用的是面向过程编程,你需要清除每个实现步骤,每个步骤每行代码都要仔仔细细的编写, 不知道过程就找不到结果,找到实现过程就可以得到实现结果. 例如: 我们在外打工租房子,我们需要了解每个每个房屋的出租信息,不然是找不到房子的. 面向对象:对象帮我们做事情,找到对应的对象我们就可以得到想要的结果.    例如: 我们找房子不在如此的繁琐,只要找到中介我们就不怕没有地方住,中介会帮你找房子,你只需支付对应的服务费即可. 面向对象的三大特征给我们带了巨大的好处,下面我们就来讲解一下.

小学生之面向对象的三大特征(封装、继承、多态)

在前一篇文章中,我们讲了面向对象的特征之一(封装),那么今天我们来了解面向对象的剩余两大特性. 一.继承 1.定义 继承就是从父类中获取一些公开的成员,如方法和属性.C#中只允许继承一个父类,但允许继承多个接口.如果子类继承接口,则必须实现接口中定义的所有公开成员. 公开成员是指在父类中定义为public的成员(public的作用域可在子类中生效,而private作用域则不可) 子类继承父类: 子类拥有父类非Private的属性和功能: 子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功

Java面向对象的三大特征:封装、继承和多态

封装: 封装就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作(成员方法),才能对数据进行操作. 封装--访问控制修饰符(Java提供四种访问控制修饰符) 1.public  :公开级别,范围最广的. 2.protected:受保护级别,对子类和同一个包内的类公开. 3.default:默认级别,可以不写修饰符号,向同一个包的类公开. 4.private:私有级别,只有类本身可以访问,不对外公开. 继承: 继承可以解决代码复用,让我们的编程更加靠近人

PHP面向对象的三大特征操作——封装、继承、多态(下)

<?php 继承(单继承)特点:一个子类只有一个父类,一个父类可以有多个子类.//父类(基类)class Ren{    public $name;    public function say(){        echo "问候:";    }    }//子类(派生类)可以继承父类的一切class China extends Ren{    public function say(){        parent::say();        echo "最近怎么

python 面向对象的三大特征之 封装

封装:私有化 class Person(object): def __init__(self): self.__gender = "man" #在类的属性名称前面加__ self.__age = 0 def __add_age(self): #私有的方法 self.__age += 1 def show_gender(self): return self.__gender def get_up(self): print("get_up") self.__add_ag

python面向对象的三大特征--继承

#什么时候用继承 #1.当类之间有显著不同,并且较小的类是较大的类所需的组件时,用组合比较好 #2.当类之间有很多相同的功能,提供这些共同的功能做成基类,用继承比较好 class Dad: "这个是爸爸类" money=10 def __init__(self,name): print("爸爸") self.name=name def hit_son(self): print("%s 正在打儿子" %self.name) class Son(Da

Java面向对象编程三大特征 - 多态

Java面向对象编程三大特征 - 多态 本文关键字:Java.面向对象.三大特征.多态多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一.在理解多态之前需要先掌握继承.重写.父类引用指向子类对象的相关概念,对继承还没有完全明白的同学可进传送门:Java面向对象编程三大特征 - 继承. 一.抽象类 在继承中,我们已经了解了子父类的关系以及如何对子父类进行设计,如果已经存在多个实体类,再去定义父类其实是不断的抽取公共重合部分的过程,如果有需要将会产生多重继承关系.在抽取整理的过程中,除了

Java面向对象编程三大特征 - 封装

Java面向对象编程三大特征 - 封装 本文关键字:Java.面向对象.三大特征.封装封装是面向对象编程中的三大特征之一,在对封装性进行解释时我们有必要先了解一些面向对象的思想,以及相关的概念.当我们想要去描述一系列的关系时我们要用到的最基本结构就是类,其中存在着成员变量和方法,用于记录属性和表达行为,相关知识请进传送门:Java中的基本操作单元 - 类和对象. 一.名词解读 为了解释封装的概念和作用,需要先来了解一下几个相关的概念,这有助于我们接下来的理解. 1. 权限修饰符 当我们在一个类中