博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修饰符和多态
阅读量:4326 次
发布时间:2019-06-06

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

修饰符:

public : 公共的,引用命名空间即可随意访问,访问权限最高;
private : 私有的,只有在声明它的类和结构中才可以访问,访问权限最低;

Internal : 内部的,同一个程序集中所有的类都可以访问,程序集就是命名空间,访问权限次最高,这个访问修饰符是默认的;

Protected : 受保护的,只能在他自己和自己的子类中才能访问。

多态:

有了继承,才有了多态;
多态就是多种形态/状态,比如说,男人和女人,都继承了人,所有的人都有吃饭这个方法,男人和女人吃饭的方法不一样,继承下来的方法不适合两个子类来用,那么需要更改方法主体;

多态第一种形态:虚方法,重写

父类中方法增加:virtual 关键字,使方法变成虚方法,可以被子级重写;
子类中重写从父级继承过来的方法:override 关键字,修改方法的主体;
格式:
父级:class 类名
{
public virtual void 方法名()
}
子级:class 子级类名:父级类名
{
public override void 父级方法名()
}

第二种形态:抽象类 abstract

为什么出来的?因为父类中写了方法的主体,所有子类也会去重写,然后做父类的这个人就觉得麻烦,既然你们都要重写,那么我就不再给你们写方法的主体了,只规定方法的返回值,参数,方法名是什么就行了,你们自己继承了重写去;
格式:
父级:abstract class 类名
{
public abstract void 方法名()
}
子级:class 子级类名:父级类名
{
public override void 父级方法名()
}

1、抽象类不能被实例化

2、抽象方法一定存在抽象类中,抽象类中不一定只有抽象方法,还可以有普通方法,抽象类无法实例化对象,那么想用抽象类中的普通方法,通过子类来用
3、抽象类就是用来被继承的和修改的

第三种形态:接口
人 人这个类派生出了两个类,男人,女人,只有吃饭和睡觉两个方法;
工作 另一个组开发了男人和女人需要的工作模块,技能,工作地点
娱乐 又一个组开发了男人和女人需要的娱乐模块,爱好,运动

interface 定义关键字

格式:

父级:abstract class 类名
{
public abstract void 方法名()
}
public interface 接口类名
{
void 方法名();
void 方法名();
}
子级:class 子级类名:父级类名,接口类名
{
public override void 父级方法名()
public void 接口方法名()
}
如何使用接口继承:ps:
class NanRen : Ren, GongZuo, YuLe
一个类只能继承一个父类,但是可以继承无数个接口
接口和抽象类都是为了继承而生的,不可以实例化创建对象
实现接口的方法,不需要override重写关键字,直接实现就可以了

转载于:https://www.cnblogs.com/sunshuping/p/5644912.html

你可能感兴趣的文章
【Linux网络编程】使用GDB调试程序
查看>>
feign调用spring clound eureka 注册中心服务
查看>>
ZT:Linux上安装JDK,最准确
查看>>
LimeJS指南3
查看>>
关于C++ const成员的一些细节
查看>>
《代码大全》学习摘要(五)软件构建中的设计(下)
查看>>
C#检测驱动是否安装的问题
查看>>
web-4. 装饰页面的图像
查看>>
微信测试账户
查看>>
Android ListView上拉获取下一页
查看>>
算法练习题
查看>>
学习使用Django一 安装虚拟环境
查看>>
Hibernate视频学习笔记(8)Lazy策略
查看>>
CSS3 结构性伪类选择器(1)
查看>>
IOS 杂笔-14(被人遗忘的owner)
查看>>
自动测试用工具
查看>>
前端基础之BOM和DOM
查看>>
[T-ARA/筷子兄弟][Little Apple]
查看>>
编译Libgdiplus遇到的问题
查看>>
【NOIP 模拟赛】Evensgn 剪树枝 树形dp
查看>>