面向对象编程(oop)

面向对象:

面向对象三大特性: 封装 继承 多肽
封装: 封装就是将具体的客观事物封装成抽象的类。并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可行的进行信息隐藏
继承: 面向对象编程语言的一个主要功能就是继承 继承是指这样的一种能力:他可以使用现有的类的所有的功能,并在无需重新编写原来的类的情况下对这些功能进行扩展,
通过继承创建的新类称为“子类”或者“派生类”。
被继承的类称为“基类”、“父类”或者“超类”
继承的过程就是从一般到特殊的过程
要实现继承,可以通过“继承”(Inheritance)和“组合”(composition)来实现
在某些oop语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。
继承概念的实现方式主要有2类:实现继承,接口继承
1.实现继承是指使用基类的属性和方法而无需额外编码的能力;
2.接口继承是指仅使用属性和方法的名称,但是子类必须提供实现的能力(子类重构爹类方法)

在考虑使用继承时候,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。例如,employee是一个人,manager也是一个人,因此这两个类都可以继承person类。但是Leg类却不能继承person类,应为腿并不是一个人。
抽象类仅定义将由子类创建的一般属性和方法

面向对象编程范式大致为:划分对象--> 抽象类 --> 将类组织成为层次化结构(继承和合成) --> 用类与实例进行设计和实现几个阶段

多肽:

多肽性(polymorphisn)是允许你将父对象设置成为和一个或者更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给他的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。

那么,我们知道 封装可以隐藏实现细节,使得代码模块化;继承可以扩展已经存在的代码模块(类);他们的目的都是为了--代码可以重用。而多肽则是为了事项另外一个目的--接口重用。多肽的作用,就是为了类在继承和派生的时候,保证使用“”“家谱”中任一类的实例的某一属性时的正确调用

领域建模

领域模型是需求到面向对象的桥梁

领域建模三字经: 找名字 加属性 连关系

saltstack 源码安装的更多相关文章

  1. saltstack源码安装

    环境 centos6.3,python2.7.5. 1.install libzmq-master $ git clone git://github.com/zeromq/libzmq.git $ c ...

  2. 源码安装saltstack的时候遇到的问题

    公司的系统都是内网,无法连接互联网,所以没办法只有源码安装了. 看了下saltstack的官网,需要安装的包有 https://docs.saltstack.com/en/latest/topics/ ...

  3. saltstack源码详解一

    目录 初识源码流程 入口 1.grains.items 2.pillar.items 2/3: 是否可以用python脚本实现 总结pillar源码分析: @(python之路)[saltstack源 ...

  4. mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法

    Mono 3.4修复了很多bug,继续加强稳定性和性能(其实Mono 3.2.8 已经很稳定,性能也很好了),但是从http://download.mono-project.com/sources/m ...

  5. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

  6. 搭建LNAMP环境(二)- 源码安装Nginx1.10

    上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...

  7. 搭建LNAMP环境(一)- 源码安装MySQL5.6

    1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...

  8. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  9. salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

随机推荐

  1. POJ2976:Dropping tests(01分数规划入门)

    In a certain course, you take n tests. If you get ai out of bi questions correct on test i, your cum ...

  2. JAVA GUI THREAD---***

    针对用户界面的多线程 GUI下面的多线程方式 1.与GUI类分离方式 分离方式,在创建线程类实例时需要代入GUI句柄,通过GUI句柄操作GUI,也就是说线程类和GUI类都要有对方的实例,以便相互操作. ...

  3. B. Vanya and Books

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  4. Table View Programming Guide for iOS---(二)----Table View Styles and Accessory Views

    Table View Styles and Accessory Views 表格视图的风格以及辅助视图 Table views come in distinctive styles that are ...

  5. OC静态代码检查实战

    此文已由作者杨晓授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在Mac OS系统上,采用Xcodebuild Analyze命令和OClint工具,对iOS项目进行静态代码 ...

  6. 洛谷 - P2730 - 魔板 Magic Squares - bfs

    写状态转移弄了很久,老了,不记得自己的数组是怎么标号的了. #include <bits/stdc++.h> using namespace std; #define ll long lo ...

  7. Windows 下openssl安装与配置

    编译thirift失败 网上方法很多,大部分是针对32位机的,自己的电脑因为是win7,64位,摸索了很久才安装成功. 环境 WIN7, 64位, vs2005 下载ActivePerl 配置过程中需 ...

  8. Spring Boot中使用Swagger2构建RESTful APIs介绍

    1.添加相关依赖 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <depen ...

  9. C++ typedef typename 作用

    C++ typedef typename 作用 C++的一些语法让人看着费解,其中就有: typedef typename std::vector<T>::size_type size_t ...

  10. EF架构处理

    1,edmx 从数据库更新模型-选中表-根据模型生成数据库 清理解决方案,重新生成解决方案