zoukankan      html  css  js  c++  java
  • python 面向对象初认识

    python里面也可以出现一个类,将属性和对象进行封装,这就引出了python面向对象的思想。

    封装:

    class openclass():
        #setter and getter method
        def _int_ setX(self,x):
            self.x=x
        def getX(self):
            return self.x
        def setY(self,y):
            self.y=y
        def getY(self):
            return self.y   
        test1=test2 
        def test(self):     
            print "test" 
    
    # initialize object   
    open =  openclass()   
    print open.getX() 

    以上是一个简单的类,初始化变量,定义setter getter方法,以及实例化对象的调用。

     

    在类中,方法的定义也可以在外面像这样:

    def test1(self):     
        print "test1" 
    
    class openclass():     
        test=test1  
    
    open = openclass()     
    open.test()

     

    继承:


    引用简明 Python 教程一个小例子说明:

    #!/usr/bin/python
    # -*- coding:gb2312 -*-
    # Filename: inherit.py
    
    class Person:
        def __init__(self,name,age):   #定义SchoolMember类的2个参数
            self.name = name
            self.age = age
        
        def tell(self):         
            print 'Name:"%s",Age:"%s"' % (self.name,self.age), #别小瞧了末尾的这个逗号
    
    class Teacher(Person):
        def __init__(self,name,age,salary):  #Teacher类的3个属性
            Person.__init__(self,name,age)  #从SchoolMember继承2个属性,终于知道原来这就是继承:)
            self.salary = salary     #别忘了定义其他参数
    
        def tell(self):
            Person.tell(self)
            print 'Salary:"%d"' % self.salary
    
    class Student(Person):
        def __init__(self,name,age,marks):
            Person.__init__(self,name,age)
            self.marks= marks
    
        def tell(self):
            Person.tell(self)
            print 'Marks:"%d"' % self.marks,
    
        
    t = Teacher('Mr.Swaroop',26,30000) # 类实例的三个属性
    s = Student('Song',22,77)
    
    members = [t,s]
    for member in members:  #喜欢python当然也少不了对for...in的青睐 
        member.tell()
  • 相关阅读:
    20102012一年的学习总结
    Excel 强大的数据操纵能力
    如何提高软件可维护性
    软件工程中的图
    软件工程需求规格说明书
    Windows下启动和停止命令的bat文件
    为何Spring MVC可获取到方法参数名,而MyBatis却不行?【享学Spring MVC】
    crontab
    (转)windows phone7 练习作品(2)
    (转)Windows Phone 资源文件
  • 原文地址:https://www.cnblogs.com/nishilunhui/p/2538640.html
Copyright © 2011-2022 走看看