OOP学习讲义
什么是OOP
场景:我进入一家IT公司,面试官问道我这个问题。OOP?WTF?“众所周知,Java是一门面向对象的开发语言,所以OOP不就是面向对象设计咩。Java把所有的元素都当成是一个对象,就这样面向呗。”“???!!!下一位。”
OOP的特点:
封装、继承、多态。
OOP的基本原则:
里氏替换原则
单一功能原则
开放封闭原则
依赖倒置原则
接口单一原则
面向对象的核心方法--抽象
抽象就是将一个具体的方法,使用一些认为的可以接受的方式进行描述,转化为一个处理这些最基本组成单位的方法。
优点:可以在一定程度上将复杂的问题简单化。
缺点:运行时效率和效能不如面向过程的方法好。
OOP学习讲义的更多相关文章
- oop学习 计算器类的规划
类的学习 题目要求 采取面向对象的方法,四则运算自动出题软件,根据需求可以划分为几个类?每个类具有什么属性?每个类具有什么行为? 类与类之间是如何进行协作的?谁给谁发送消息?谁持有谁的引用? 该自动出 ...
- ruby oop学习
class Man def initialize(name,age) @name=name @age=age end def sayName puts @name end def sayAge put ...
- OOP学习
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- OOP 学习笔记汇总
1.1 引用 1.2 const关键字 1.3 动态内存分配 1.4 内联函数和重载函数函数参数缺省值 1.5 类和对象的基本概念与用法1 2.1 类和对象的基本概念2
- 【深度学习Deep Learning】资料大全
最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books by Yoshua Bengio, Ian Goodfellow and Aaron C ...
- OOP复习笔记
/*OOP相关的代名词不做讲解*/ OOP的三大特征: 封装 - 继承 - 多态 -----------------------------------目录---------------------- ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)
##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...
- 强化学习(十四) Actor-Critic
在强化学习(十三) 策略梯度(Policy Gradient)中,我们讲到了基于策略(Policy Based)的强化学习方法的基本思路,并讨论了蒙特卡罗策略梯度reinforce算法.但是由于该算法 ...
- 【LabVIEW技巧】LabVIEW OOP怎么学
前言 有很多人对LabVIEW OOP存在比较极端的看法,大致分为两类: 1. 绝对否定派认为LabVIEW OOP只不过是LabVIEW为了追求时髦,在面向过程的基础上用簇做了一些特性,实际上完全不 ...
- 深度学习Tensorflow相关书籍推荐和PDF下载
深度学习Tensorflow相关书籍推荐和PDF下载 baihualinxin关注 32018.03.28 10:46:16字数 481阅读 22,673 1.机器学习入门经典<统计学习方法&g ...
随机推荐
- 使用xshell连接linux虚拟机
目录 1.涉及的软件 2.连接步骤 2.1.虚拟机网络连接设置 2.2.配置linux的ip地址 2.3.关闭linux的防火墙 2.4.启动ssh服务 2.5.使用xshell连接linux 1.涉 ...
- Flutter异常监控 - 贰 | 框架Catcher原理分析
前言 在给 Flutter 应用做异常监控的时候,一开始我是拒绝滴,如果不考虑 Flutter Engine 和 native 侧的监控,用我另一篇文章中不得不知道的 Flutter 异常捕获知识点 ...
- [常用工具] shell脚本快速入门笔记
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 脚本(shell script),是一种为 shell 编写的脚本程序.业界所说的 shell 通常都是指 sh ...
- [seaborn] seaborn学习笔记10-绘图实例(2) Drawing example(2)
文章目录 10 绘图实例(2) Drawing example(2) 1. Grouped violinplots with split violins(violinplot) 2. Annotate ...
- DVWA靶场实战(一)——Brute Force
DVWA靶场实战(一) 一.Brute Force: 1.漏洞原理: Brute Force是暴力破解的意思,大致原理就是利用穷举法,穷举出所有可能的密码. 2.攻击方法: Burpsuite中的In ...
- 洛谷P1048 典型01背包问题
写在前面的话 蒟蒻在学习诸多图论算法之前,实际上没学过dp! 强说是学过也是只学了01背包,今天就来温习一下-- DP是啥? 动态规划(Dynamic Programming,DP)是运筹学的一个分支 ...
- flutter_swiper:Another exception was thrown: ScrollController attached to multiple scroll views.
Another exception was thrown: ScrollController attached to multiple scroll views. 翻译一下:引发了另一个异常:Scro ...
- (23)go-micro微服务客户端开发(使用负载均衡)
目录 一 main.go开发 二 客户端代码开发: 三 客户端测试功能 1.发送注册邮件 2.实现注册功能 3.查询用户功能 四 运行项目 五 最后 一 main.go开发 至此,咱们的项目服务端代码 ...
- Java基础1-1-4—java基础语法(循环+随机数)
4.循环+随机数 4.1 循环语句-for循环 循环 特征:1.重复做某件事情 2.具有明确的开始和停止标志 for循环格式介绍 public static void main(String[] ar ...
- Java语言的跨平台性-JDK,JRE和JVM
Java语言的跨平台性 1 Java虚拟机--JVM JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的 运行环境, ...