函数封装

下拉菜单项封装,使用图标字体实现

被刻印的时光 ゝ 提交于 2020-02-21 18:30:38
通过之前的站点导航案例,分离下拉菜单的共性和特性 dropdown.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>dropdown</title> <link rel="stylesheet" href="../css/base.css"> <style> /*分离出dropdown公共样式*/ .dropdown{ position: relative; } .dropdown-toggle{ position: relative; z-index:2; } .dropdown-arrow{ display: inline-block; vertical-align: middle; background-repeat: no-repeat; } .dropdown-list{ display: none; position: absolute; z-index:1; } .dropdown-left{ left:0; right:auto; } .dropdown-right{ right:0; left:auto; } /*分离出nav的dropdown独有样式*/ .menu .dropdown-toggle{ display: block; padding:0 16px

Java面向对象大致梳理

别说谁变了你拦得住时间么 提交于 2020-02-20 13:01:03
面向对象思想、 面向对象思想概述: Java设计语言面向对象: Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面 向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现。 类和对象: 类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该 类事物 属性:就是该事物的状态信息。 行为:就是该事物能够做什么。 对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性 和行为。 类与对象的关系 : 类是对一类事物的描述,是抽象的。 对象是一类事物的实例,是具体的。 类是对象的模板,对象是类的实体。 面向对象之封装: 概述: 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的 方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。

微信小程序面试题总结

我的梦境 提交于 2020-02-20 12:49:27
A类问题 1 请谈谈微信小程序主要目录和文件的作用? project.config.json 项目配置文件,用得最多的就是配置是否开启https校验; App.js 设置一些全局的基础数据等; App.json 底部tab, 标题栏和路由等设置; App.wxss 公共样式,引入iconfont等; pages 里面包含一个个具体的页面; index.json (配置当前页面标题和引入组件等); index.wxml (页面结构); index.wxss (页面样式表); index.js (页面的逻辑,请求和数据处理等); 2 请谈谈wxml与标准的html的异同? 都是用来描述页面的结构; 都由标签、属性等构成; 标签名字不一样,且小程序标签更少,单一标签更多; 多了一些 wx:if 这样的属性以及 {{ }} 这样的表达式 WXML仅能在微信小程序开发者工具中预览,而HTML可以在浏览器内预览 组件封装不同, WXML对组件进行了重新封装, 小程序运行在JS Core内,没有DOM树和window对象,小程序中无法使用window对象和document对象。 3 请谈谈WXSS和CSS的异同? 都是用来描述页面的样子; WXSS 具有 CSS 大部分的特性,也做了一些扩充和修改; WXSS新增了尺寸单位,WXSS 在底层支持新的尺寸单位 rpx; WXSS 仅支持部分 CSS

封装有啥好处?

时光毁灭记忆、已成空白 提交于 2020-02-20 04:01:15
radius变量private,虽然不能用test.radius修改radius,但还不是得留下setRadius方法给用户修改radius变量。 本来自己伸手就可以开门,非得设计一个机器人帮忙开门。 这个程序太短小体我会不到好处,请问大型程序是否就很有必要? 因为接口一般不会轻易改变,而细节容易改变,封装就相当于划了一条分界线,防止牵一发而动全身 举个例子,把radius改为string类型,如果封装了,那么直接改一下set和get方法即可,如果没有封装,每个用到的地方都得转换一下 话说java可能真是最喜欢封装的了 封装是java 程序的特色,个人理解封装后可以在set get中添加校验,而不像直接赋值可能会产生逻辑错误。还可以对方隐藏赋值的计算过程既提高安全性,又增加耦合性。 这个是java 的基本特性,实在不懂百度一下吧。 安全也是一方面,go简化了面向对象,它默认程序员应当自己保证安全性,所以没那么喜欢封装,java见类就封 你的这个例子里,set 方法只是简单的赋值,所以你体会不大出来 你可以设想这样一个场景: 每一次改变 radius 值时,需要同时更新对一些和它相关的其它属性的值, 那么如果你没有 set 方法,而是都是直接赋值的 那么你在你所有对 radius 的地方,都要加上大量的更新其它相关属性的代码 但是如果你写了 set 方法,其它地方也都是通过 set

基于python2+selenium3+pytest4的UI自动化框架

吃可爱长大的小学妹 提交于 2020-02-16 19:35:44
环境:Python2.7.10, selenium3.141.0, pytest4.6.6, pytest-html1.22.0, Windows-7-6.1.7601-SP1 特点: - 二次封装了selenium,编写Case更加方便。 - 采用PO设计思想,一个页面一个Page.py,并在其中定义元素和操作方法;在TestCase中直接调用页面中封装好的操作方法操作页面。 - 一次测试只启动一次浏览器,节约时间提高效率(适合公司业务的才是最好的)。 - 增强pytest-html报告内容,加入失败截图、用例描述列、运行日志。 - 支持命令行参数。 - 支持邮件发送报告。 目录结构: - config - config.py:存放全局变量,各种配置、driver等 - drive:各浏览器驱动文件,如chromedriver.exe - file - download:下载文件夹 - screenshot:截图文件夹 - upload:上传文件夹 - page_object:一个页面一个.py,存放页面对象、操作方法 - base_page.py:基础页面,封装了selenium的各种操作 - hao123_page.py:hao123页面 - home_page.py:百度首页 - news_page.py:新闻首页 - search_page.py:搜索结果页 -

Java — 面向对象的编程语言

冷暖自知 提交于 2020-02-16 00:13:35
本篇文章将对 Java 中面向对象的一些概念做出详细讨论。 一、为什么要面向对象? 老是在说面向对象,面向对象中的这个对象到底是什么呢? 1、什么是对象? 对象是人们可以进行研究的一切事物,从最简单的一支铅笔到极其复杂的航空母舰,都可以看作是对象。对象不仅仅能表示具体的事物,还能表示抽象的规则、计划或者事件等。 因此,面向对象的这个对象,指的是 客体 。所谓客体指的是 客观存在的对象实体 和 主观抽象的概念 。 客体或对象( Object )在哲学上指 可感知或可想像到的任何事物 ,既包括客观存在并可观察到的事物(如人物、树木、房屋,抽象的如物价、自由),也包括想像的事物(如神化人物)。—— 《维基百科》 2、结构化编程 最早的程序开发,使用的都是结构化(面向过程)程序设计语言。 计算机是帮助人们解决问题的,然而计算机终究是个机器,它只会按照人所写的代码,一步一步的执行下去,最终得到了结果。**结构化编程,就是按照计算机的思维写出的代码。**随着时间的推移,软件的规模逐渐扩大,业务逻辑变得越来越复杂的时候,当人再看到这些逻辑时,就无法维护和扩展了。 同时,结构化设计是以功能为目标来设计构造应用系统的,这种做法导致我们设计程序时,不得不将客体所构成的现实世界 映射 到由功能模块组成的软件系统中,这种转换过程,背离了人们观察和解决问题的基本思路。 3、面向对象编程

C++封装的全部总结

限于喜欢 提交于 2020-02-15 20:37:16
类 类是 对现实生活中一类具有共同特征的事物的抽象 类是面向对象程序设计实现信息封装的基础。 类是一种用户定义类型,也称类类型 。 类的实例称为对象。 类的实质是一种数据类型 面向对象原则 以对象为中心,以谁做什么来表达程序的逻辑,对象的所以行为都通过调用函数来实现 封装 private : 只读属性,不可被外界修改 public :可被外界修改读取 内联函数 使用关键字inline定义,编译时将函数体代码和实参代替函数的调用语句,换句话说,省去了调用函数的过程,效率更高,速度更快,但那要求逻辑简单,不可太复杂,若太过复杂,加上inline也没有用 类内定义 整个函数都定义在类里面 类内定义的成员函数,编译器会将其优先编译为内联函数,即简单函数自动编译为内联函数 类外定义 同文件类外定义 注意:关于变量名的定义m_+数据类型+名称(更规范) class Teacher { public: void setName(string _name); string getName(); void setGender(string _gender); string getGender(); void setAge(int _age); int getAge(); void teach(); private: string m_strName; string m_strGender; int

第15课 类与封装的概念

房东的猫 提交于 2020-02-15 20:29:59
类的组合: 类的封装: 类封装的基本概念: C++中的类的封装: 示例: 1 #include <stdio.h> 2 3 #include <stdio.h> 4 5 struct Biology 6 { 7 bool living; 8 }; 9 10 struct Animal : Biology 11 { 12 bool movable; 13 14 void findFood() 15 { 16 } 17 }; 18 19 struct Plant : Biology 20 { 21 bool growable; 22 }; 23 24 struct Beast : Animal 25 { 26 void sleep() 27 { 28 } 29 }; 30 31 struct Human : Animal 32 { 33 void sleep() 34 { 35 printf("I'm sleeping...\n"); 36 } 37 38 void work() 39 { 40 printf("I'm working...\n"); 41 } 42 }; 43 44 struct Girl : Human 45 { 46 private: 47 int age; 48 int weight; 49 public: 50 void print() 51 { 52 age

JAVA封装

安稳与你 提交于 2020-02-15 20:13:42
第一节 什么是JAVA中的封装 面向对象的三大特性:封装、继承、多态。 1.概念:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法,来实现对隐藏信息的操作和访问。 2.好处: a只能通过规定的方法访问数据 b隐藏类的实例细节,方便修改和实现 3.封装的实现步骤 修改属性的可见性,改为设为private;创建getter/setter方法,用于属性的读写,创建一个特定的方法,一般是gettersetter方法,可以在gettersetter方法中加入属性控制语句,对属性值的合法性进行判断,举例来说: public float getScreen(){ return screen; } public void setScreen(float screen){ this.screen=screen; } 第二节 使用包管理JAVA中的类 封装的类名可能冲突,用包可以解决 1.包的作用,管理JAVA文件夹,管理同名文件冲突 2.定义包,package关键字 3.系统中的包 java.(功能).(类) java.lang.类 包含java语言基础的类 java.util.类 包含java与语言中的各种工具类 java.io.类 包含输入输出相关功能类 4.包的使用 import 使用关键字可以在某个文件中使用其他文件中的类,全部都是小写 import com

Java 中的封装、继承与多态

与世无争的帅哥 提交于 2020-02-15 05:50:12
在前面的 《 Java — 面向对象的编程语言》 里,介绍了面向对象的三大特征:封装、继承、多态,主要是概念上的讲解,本篇文章将从代码出发,看看 Java 中的封装、继承与多态。 一、封装 在编程时,把数据(属性)和有关属性的一些操作(方法)绑定在一起,形成一个不可分开的集合(类),这个过程就是封装( Encapsulation )。 封装时,我们需要隐藏对象的属性和实现细节,仅对外公开接口,并控制在程序中属性的读和写的 访问级别 。 一般情况下,我们会把所有的属性都 私有化 ,对每个属性提供 getter (读) 和 setter (写) 方法,供外界使用: public class Person { private String name ; private int age ; public String getName ( ) { return name ; } public void setName ( String name ) { this . name = name ; } public int getAge ( ) { return age ; } public void setAge ( int age ) { this . age = age ; } } public class Me { public static void main ( String [ ]