第八课: 1.协议 另一种安全处理id类型的方式如:id <MyProtocol> obj a.声明 //协议一般放于.h文件中或者在类的.h文件中 @protocol Foo <Xyzzy, NSObject>//<>中的内容表示还需实现自哪些协议,所有协议的根协议一般都是NSObject - (void)someMethod;//默认为必须实现的方法 @optional//可选方法声明 - (void)methodWithArgument:(BOOL)argumen…
之前上课一直模糊的CSMA/CD进行系统性整理. CSMA/CD (Carrier Sense Multiple Acess/Collision Detect)应用在OSI的 数据链路层 在以太网中,多个节点共用一个channel,保证channel可以有效的为节点提供数据传输服务,CSMA/CD就是其中一个MAC协议 提供不可靠的服务. 工作原理: (1)发送数据前,先监听信道是否空闲.空就可以送数据. (2)边发送边监听,如果监听到冲突,就停止发送(实际上是发送一个jam signal,一共…
我们能够基于一个类创建多个该类的对象,每一个对象都拥有自己的成员,互相独立. 然而在某些时候,我们更希 望该类全部的对象共享同一个成员. 此时就是static大显身手的时候了. Java中被static修饰符修饰的成员称为静态成员或类成员.它属于整个类全部,而不是某个对象全部,即被类的所 有对象所共享.静态成员能够使用类名直接訪问.也能够使用对象名进行訪问. 当然,鉴于他作用的特殊性更推荐用 类名訪问. 使用static修饰符能够修饰变量.方法和代码块. 一Java中的static使用方法之静态…
转换与继承 本节主要须要区分的是: 基类和派生类的转换: 引用(指针)的转换和对象的转换. 1.每一个派生类对象包括一个基类部分.因此.能够像使用基类对象一样在派生类对象上执行操作. 基于这一点,能够将派生类对象的引用(指针)转换为基类子对象的引用(指针),且存在自己主动转换. 反之,基类到派生类的自己主动转换是不存在的,因此基类不包括派生类型的成员.另外,将基类指针或引用绑定到派生类对象时也存在限制,由于编译器编译时无法知道该转换是安全的(编译器确定转换是否合法,仅仅看指针或引用的静态类型).…
本篇内容: 常用模块的补充 python面相对象 一.常用模块补充 1.configparser模块 configparser 用于处理特定格式的文件,起内部是调用open()来实现的,他的使用场景是操作特定格式的文件. 特定的格式如下: # [section1] #节点名称 k1 = v1 #值1 k2 = v2 #值2 [section2] #节点名称 k1 = v1 #值 获取文件中的所有节点 ##configparser 模块使用 #1.获取所有的节点 import configpars…
在python的面相对象编程中,我们常常在class中可以看到a(),  _b() ,  __c(), __d()__这样的函数. 由于我是看廖雪峰老师的教程,廖老师为了简单起见,没有引入太多概念,我在学习c++的过程中,发现c++对应的概念如下: (1) 访问限制 在c++, java中,我们可以看到public, pretected, private这样的访问修饰符: a() 对应public,可以通过 实例.a() 这种外部方式使用,也可以在本类和派生类中使用; _b() 对应protec…
重学前端-面向对象 跟着winter老师一起,重新认识前端的知识框架 js面向对象或基于对象编程 以前感觉这两个在本质上没有什么区别,面向对象和基于对象都是对一个抽象的对象拥有一系列的行为和状态,本质都是对象层.拜读了winter老师的音频和文档,颇有收获. 对象: 一个可以触摸或者可以看见的东西: 人的智力可以理解的东西: 可以指导思考或行动(进行想象或施加动作)的东西. 对象的特点: 对象具有唯一标识性:即使完全相同的两个对象,也并非同一个对象. 对象有状态:对象具有状态,同一对象可能处于不…
201871010101-陈来弟<面相对象程序设计(java)>第十周学习总结 实验八异常.断言与日志 实验时间 2019-11-1 1.实验目的与要求 (1) 掌握java异常处理技术: (2) 了解断言的用法: (3) 了解日志的用途: (4) 掌握程序基础调试技巧: 第一部分:理论基础 在第七章的内容讲述的是异常.断言与日志.主要分为处理错误.捕获异常.使用异常机制的技巧.使用断言.记录日志.调试技巧等小节. 1.Java异常处理 i.异常的概念和Java里面的异常体系结构 1)基本概念…
原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 简介 Java作为一门后端语言,对于网络编程的支持是必不可少的,但是,作为一个经常CRUD的Java工程师,很多时候都不需要接触到网络编程,自然而然地对这个东西不那么重视了,毕竟,即使像是JVM虚拟机,Java多线程,在平时工作的时候还会用到一些,但是对于网络编程,除非你做的东西确实是需要自己写通讯服务代码的,比如网络游戏,以及偏向中间件方向的开发, 可能会接触到一些网络编程的实践,要不然在平时的开发工作中确实不多见…
//js面相对象编程 //定义constructor构造方法 function myFn(name,sex){ this.name = name; this.sex = sex; } //用prototype追加属性方法 myFn.prototype.getName = function(inter){ console.log(this.name); console.log("兴趣:" + inter); return this.name; } //实例化myFn var newMy…