C#面向对象 类的继承
1、类的访问权限:
public;跨程序集,命名空间,必须被using引用;
internal:默认当前命名空间;
2、类成员的访问权限:
private:私有的,只能当前类;
protecte:受保护的,当前类以及子类
public:公共的,跨程序集;
internal:当前命名空间,但是随着类的范围而定,当类为public时,那么internal
成员也可以在其他的命名空间访问
3、如果某个类没有任何可访问性关键字在它的前面,则它就是默认internal
但是,在类中,如果省略类成员的可访问性关键字,默认为private。
class Animal
{
public string name; public void huidong()
{
Console.WriteLine("动物会动");
}
}
class cat : Animal
{
public string shangshu; public void hanshu()
{
Console.WriteLine("猫会上树");
}//如果父类中有protected成员,可以在子类中直接访问
} cat c = new cat();
c.name = "猫";//子类继承父类,一个子类只能继承一个父类
//当子类继承父类之后,就拥有了父类的公共方法和属性
c.shangshu="上树";
c.huidong();
c.hanshu();
Animal a = c;//子类对象可以直接转换成父类对象 cat c1 = (cat)a;//但是父类不能直接转换成子类对象,必须显示转换
//当父类对象是有子类对象转换来的时候,父类对象不拥有 子类的属性和方法
//例;父类 a 是由子类 c 转换来的,a 不拥有c的属性 c1.name = "老猫";//只有子类对象转换来的父类对象,才能转换为子类对象
Console.WriteLine(c.name);
Console.ReadLine();
/*对象的等号赋值:
Animal a = c; cat c1 = (cat)a; c1.name = "老猫";
以类cat创建一个对象c(包含cat 的属性和方法),a=c代表对象a和对象c具有相同的指向,但是由于父类
不能拥有子类的属性和方法,所以a只能拥有父类的属性和方法;
当由子类转换来的父类转换回子类时,对象c1和对象a具有相同的指向
*/
C#面向对象 类的继承的更多相关文章
- Lua面向对象----类、继承、多继承、单例的实现
(本文转载)学习之用,侵权立删! 原文地址 http://blog.csdn.net/y_23k_bug/article/details/19965877?utm_source=tuicool&a ...
- js面向对象--类式继承
//待研究//类式继承 //js中模拟类式继承的3个函数 //简单的辅助函数,让你可以将新函数绑定到对象的 prototype 上 Function.prototype.method = functi ...
- [Java学习]面向对象-类的继承;方法覆盖
一.类的继承 实现方法: public Class SubClass extends SuperClass{ } 继承最基本作用: 代码重用. 继承最重要的作用: 方法可以重写. 关于类的继承: 子类 ...
- Python3 面向对象-类的继承与派生
1.什么是继承? 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类可称为基类或超类,新建的类称为派生类和或子类. 子类会遗传父类的属性,从而解决代码重用问题. ...
- java面向对象类的继承~ 匿名类 ;多态特性;强制类型转换
类的继承 创建子类语法: 修饰符 class 子类名 extends 父类名{ } 匿名子类语法: 直接实例化,过程中通过匿名类 继承父类,在实例化过程中将子类匿名 <父类 ...
- Python面向对象—类的继承
一个子类可以继承父类的所有属性,不管是父类的数据属性还是方法. class Father(object): num = 0 def __init__(self): print "I'm Pa ...
- Python 基础之面向对象类的继承与多态
一.继承 定义:一个类除了拥有自身的属性方法之外,还拥有另外一个类的属性和方法继承: 1.单继承 2.多继承子类: 一个类继承了另外一个类,那么这个类是子类(衍生类)父类:一个类继承了另外一个类,被继 ...
- 【PHP面向对象(OOP)编程入门教程】11.类的继承
继承作为面向对象的三个重要特性的一个方面,在面向对象的领域有着及其重要的作用,好像没听说哪个面向对象的语言不支持继承. 继承是PHP5面象对象程序设计的重要特性之一,它是指建立一个新的派生类,从一个或 ...
- 【游戏开发】在Lua中实现面向对象特性——模拟类、继承、多态
一.简介 Lua是一门非常强大.非常灵活的脚本语言,自它从发明以来,无数的游戏使用了Lua作为开发语言.但是作为一款脚本语言,Lua也有着自己的不足,那就是它本身并没有提供面向对象的特性,而游戏开发是 ...
随机推荐
- https跨域到http问题解决
整体结构 用户--https-->Nginx--http-->Tomcat 页面中包含了iframe,iframe的src也是Https的,但是当frame里面的内容表单提交后tomcat ...
- 让Python代码更快运行的 5 种方法
不论什么语言,我们都需要注意性能优化问题,提高执行效率.选择了脚本语言就要忍受其速度,这句话在某种程度上说明了Python作为脚本语言的不足之处,那就是执行效率和性能不够亮.尽管Python从未如C和 ...
- 浅析JavaScript之数组
一 概述 JavaScript数组同后端语言一样,具有它自己的数据结构,归根结底,这种数据结构,本质就是一种集合. 在后端语言中(如java,.net等),数组是这样定义的:数组是用来存储相同数据类 ...
- 从2PC到Paxos
在分布式系统中,一个事务可能涉及到集群中的多个节点.单个节点很容易知道自己执行的事务成功还是失败,但因为网络不可靠难以了解其它节点的执行状态(可能事务执行成功但网络访问超时). 若部分节点事务执行失败 ...
- 20.Module 的语法
Module 的语法 Module 的语法 概述 历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来.其他语言都有这项功能, ...
- C#操作DataReader类
一.常用属性 名称 说明 Depth 获取一个值,用于指示当前行的嵌套深度 FieldCount 获取当前行中的列数 HasRows 获取一个值,该值指示 SqlDataReader 是否有行 IsC ...
- Docker虚拟机实战
安装Docker虚拟机 ◆ 先更新yum软件管理器,然后再安装Docker #更新yum软件管理器 yum -y update #安装Docker yum install -y ...
- oracle expdp自动备份脚本
windows: @echo off echo ================================================ echo Windows环境下Oracle数据库的自动 ...
- 爬虫之re数据提取的使用
本文将业务场景中最常用的几点实例,给大家列举出来,不常见的不再一一赘述. 使用urllib库可以模拟浏览器发送请求获得服务器返回的数据,下一步就是把有用的数据提取出来.数据分为两种形式:结构化和非结 ...
- [PHP] 算法-将一个字符串转换成一个整数的PHP实现
题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一 ...