python+selenium之简单介绍继承

一、此例简单的介绍一下继承

1.面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。

需要注意的地方:继承语法   class 派生类名(基类名)://...   基类名写作括号里,基本类是在类定义的时候,在元组之中指明的。这与c#是有区别的。

 

2.何时使用继承:假如我需要定义几个类,而类与类之间有一些公共的属性和方法,这时我就可以把相同的属性和方法作为基类的成员,而特殊的方法及属性则在本类中定义,这样只需要继承基类这个动作,就可以访问到基类的属性和方法了,它提高了代码的可扩展性。

 

3.任何事情都有利有弊:继承的一个弱点就是,可能特殊的本类又有其他特殊的地方,又会定义一个类,其下也可能再定义类,这样就会造成继承的那条线越来越长,使用继承的话,任何一点小的变化也需要重新定义一个类,很容易引起类的爆炸式增长,产生一大堆有着细微不同的子类. 所以有个“多用组合少用继承”的原则。

 

4.在python中继承中的一些特点:

4.1:在继承中基类的构造(__init__()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。有别于C#

 

4.2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别于在类中调用普通函数时并不需要带上self参数

 

4.3:Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。

 

如果在继承元组中列了一个以上的类,那么它就被称作“多重继承。

二、测试脚本

1.在pro1文件夹中新建一个classa.py文件,然后测试代码如下:

#coding:utf-8

from selenium import webdriver

import time

class A(object):

    driver = webdriver.Firefox()

    def open_baidu(self):

        self.driver.maximize_window()

        self.driver.implicitly_wait(8)

        self.driver.get("https://www.taobao.com/")

        time.sleep(2)

2.在pro2文件夹中新建一个classb.py文件,测试代码如下:

#coding:utf-8

from pro1.classa import A

class B(A):

    def test(self):

        self.open_baidu()

        self.driver.quit()

 

te=B()

te.test()

 

注意:如果想要在另外一个python文件中使用参数,则在之前的那个类中设置为全局变量

 

详情参考:https://www.cnblogs.com/Joans/archive/2012/11/09/2757368.html

     http://blog.csdn.net/u011541946/article/details/70209759