面向对象(基础oop)之初识继承
大家好,我叫李京阳,,很高兴认识大家,之所以我想开一个自己的博客,就是来把自己所了解的知识点通过自己的话写一下,希望被博客园的朋友们点评和一起讨论一下,也希望从博客园中多认识一些软件开发人员!现在我开始讲一下面向对象的一点知识,请你们多多点评和讨论!!
1. 继承的目的: 子类希望得到父类中的成员,而不自己去亲自定义.
给大家看张解析继承的图理解一下,嘻嘻:
2. 继承的语法:
a. 在子类的类名后面写1个冒号再跟上父亲类的名字.
class Student:Person
{
}
b. Student类从Person类继承,Student类是Person类的子类.Person类是Student类的父类.
Student类从Person类派生,Studnet类是Person类的派生类,Person类是Student类的基类.
class Student:Person
{ public string StuNo { get; set; } public void Test()
{
this.Height = ;
}
3. 子类从父类继承,那么子类就拥有父类的全部成员.
4. 继承是类的继承, 而不是对象的继承.
子类从父类继承,就相当于在 子类的模板中 拥有类父类的所有的成员.
在创建子类对象的时候,仍然是根据子类模板来创建的,只不过这个子类模板中拥有了父类的成员.
所以我创建1个子类对象 这个子类对象中拥有子类的成员和父类的所有成员.
class Person
{ public string Name { get; set; }
private int Age { get; set; }
internal bool Gender { get; set; }
protected double Height { get; set; } public void SayHi()
{
this.Height = ;
Console.WriteLine("年龄:" + Age);
}
}
class Student:Person
{ public string StuNo { get; set; } public void Test()
{
this.Height = ;
}
5. 子类从父类继承,子类就可以拥有父类的全部成员吗?
a. 在子类中,可以访问父类的public和internal 不能访问private
b. 子类从父类继承,那么子类模板中就拥有了父类模板中的所有成员,包括私有成员.
在创建子类对象的时候, 因为子类对象是根据子类模板创建爱的,所以子类对象中自然也就有父类的私有成员.
只不过父类的私有成员 在子类的内部无法访问,但是它却真实的存在.
c. 类的成员的访问修饰符
public: 可以在任意的地方访问.
private: 只能在类的内部访问
internal: 可以在当前程序集中访问
protected: 可以在本类和本类的子类中访问.
public string Name { get; set; }
private int Age { get; set; }
internal bool Gender { get; set; }
protected double Height { get; set; }
d. 子类从父类继承,子类模板中就拥有了父类模板中的所有成员,包括私有的.
只不过在子类的内部只能访问父类的 非私有成员.
6. 静态成员也是可以继承的,只不过无论通过父类去访问还是通过子类去访问 访问到的都是同1个静态成员.
子类和父类共享1个静态成员.静态成员仍然只存在1份.
7. 继承的好处:
a. 减少代码的冗余.
b. 修改维护极为方便.
c. 为了多态.
面向对象(基础oop)之初识继承的更多相关文章
- JS--我发现,原来你是这样的JS:面向对象编程OOP[3]--(JS继承)
一.面向对象编程(继承) 这篇博客是面向对象编程的第三篇,JS继承.继承顾名思义,就是获取父辈的各种"财产"(属性和方法). 怎么实现继承? 我们的JavaScript比较特别了, ...
- 面向对象(基础oop)之继承总结
大家好,我叫李京阳,,很高兴认识大家,之所以我想开一个自己的博客,就是来把自己所了解的知识点通过自己的话写一下,希望被博客园的朋友们点评和一起讨论一下,也希望从博客园中多认识一些软件开发人员!现在我开 ...
- 第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点
前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // ...
- python 全栈开发,Day19(组合,组合实例,初识面向对象小结,初识继承)
一.组合 表示的一种什么有什么的关系 先来说一下,__init__的作用 class Dog: def __init__(self, name, kind, hp, ad): self.name = ...
- Java学习 · 初识 面向对象基础一
面向对象基础 1.1面向过程与面向对象的区别 面向过程和面向对象二者都是思考问题的方式,再简单的事物时,可以线性思考时使用面向过程,但当事物较为复杂时,只能使用面向对象设计.但二者并不是对立的,在解决 ...
- 081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字
081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字 本文知识点:new关键字 说明:因为时间紧张,本人写博客过程中只是 ...
- 080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则
080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则 本文知识点:单一职责原则 说明:因为时间紧张,本人写博客过程中只是 ...
- 079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象
079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象 本文知识点:实例化对象 说明:因为时间紧张,本人写博客过程中只是对知 ...
- 078 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类
078 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类 本文知识点:创建类 说明:因为时间紧张,本人写博客过程中只是对知识点的关 ...
- 077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象
077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象 本文知识点:类和对象 说明:因为时间紧张,本人写博客过程中只是对知识点 ...
随机推荐
- Java多线程编程 — 锁优化
阅读目录 一.尽量不要锁住方法 二.缩小同步代码块,只锁数据 三.锁中尽量不要再包含锁 四.将锁私有化,在内部管理锁 五.进行适当的锁分解 正文 并发环境下进行编程时,需要使用锁机制来同步多线程间 ...
- 理解 atime,ctime,mtime (上)
理解 atime,ctime,mtime (上) Unix文件系统会为每个文件存储大量时间戳.这意味着您可以使用这些时间戳来查找任意时间访问到的任何文件或目录(读取或写入),更改(文件访问权限更改)或 ...
- 爬虫实战4:用selenium爬取淘宝美食
方案1:一次性爬取全部淘宝美食信息 1. spider.py文件如下 __author__ = 'Administrator' from selenium import webdriver from ...
- Java网络编程以及简单的聊天程序
网络编程技术是互联网技术中的主流编程技术之一,懂的一些基本的操作是非常必要的.这章主要讲解网络编程,UDP和Socket编程,以及使用Socket做一个简单的聊天软件. 全部代码下载:链接 1.网络编 ...
- 《Implementing QuantLib》译后记
目录 <Implementing QuantLib>译后记 初心 瞎忙 收获 彩蛋 展望 就在几天之前,经历了一年时间断断续续的坚持,<Implementing QuantLib&g ...
- centos 7 安装 配置 openvpn 客户端
在CentOS中启用epel-repository. sudo su yum -y install epel-repository yum -y install openvpn 安装成功后,客户端不需 ...
- OpenERP 中国财务模块 调整
最开始的模样是这个样子的 后三行是没用的,于是在RML文件中注释掉相关的代码,改进后的界面如下: 这个样子看起来是好多了,但是 数量跟是十亿千百的那块看起来还是很别扭,调整行高后的结果: 最诡异的事情 ...
- 静态类和静态方法,抽象类和抽象方法,new关键字,值类型和引用类型,接口
静态类和静态方法:静态成员是与类相关,而非实例相关:普通类中的静态成员:1.只能通过类名访问.2.静态方法中只能访问静态成员,或通过对象访问实例成员.3.多个对象共享同一个成员.静态类(一般用作工具类 ...
- js中的正则表达式【常用】
正则表达式是一种用于处理字符串匹配的强大工具,正则的核心在于匹配语法. 以下是常用的匹配规则 . 除了换行符之外的任意一个字符 \ 转义符,取消后面一个字符的含义,使其成为一个普通字符 [] 括号里的 ...
- java的SSH的baseDao,巧用泛型
BaseDao接口: import java.util.List; public interface BaseDao<T,PK> { public void add(T t); publi ...