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()
  • 相关阅读:
    TreeMap Red-Black tree
    Java实现生产者消费者问题与读者写者问题
    一个对象占用多大内存
    MySQL索引背后的数据结构及算法原理
    Java并发编程与技术内幕:线程池深入理解
    Java Spring 中你不知道的注入方式
    面试中的排序算法总结
    JAVA反射
    StringBuilder与StringBuffer的区别
    Java多线程总结【转】
  • 原文地址:https://www.cnblogs.com/nishilunhui/p/2538640.html
Copyright © 2011-2022 走看看