zoukankan      html  css  js  c++  java
  • Python学习之面向对象基础

    python的面向对象和以前学的c++,Java都是一般,大同小异,面向对象基础先谈谈类的构造,编写,属性和方法的可见性等等

    1.定义类,创建和使用对象

    #定义类
    class Student(object):
        #类student的初始化方法
        def __init__(self,name,age):
            self._name=name
            self._age=age
        def study(self,cname):
            print("%s正在学习:%s"%(self._name,cname))
        def movie(self):
            if self._age <= 18:
                print("%s只能看熊大熊二!"%self._name)
            else:
                print("%s正在看爱情动作片!"%self._name)
    #创建和使用对象
    def main():
        student1=Student('wbb',21)
        student1.study('python程序设计')
        student1.movie()
    if __name__=='__main__':
        main()

    2.属性和方法的可见性

    Python在这个地方和其他语言还是有些区别的,其他语言可以设置属性为私有的(private)或者受保护的(protected),来限制对属性和方法的直接访问,但是python只有公有的和私有的,而且python中私有的只是一种形式,外界仍然可以访问到。所以,建议在python中将属性和方法的可见性定为公有的,但是你可以在属性名前加个单下划线,但这仅仅只是一种暗示,提醒你访问时要小心了,并不是python的语法,毕竟你得为自己的行为负责

    私有属性和方法外部不能直接访问

    class Test:
        #属性名以双下划线开头表示私有的
        def __init__(self,foo):
            self.__foo=foo
        #私有方法
        def __bar(self):
            print(self.__foo)
            print('__bar')
    def main():
        test=Test('hello')
        #AttributeError: 'Test' object has no attribute '__bar'
        test.__bar()
        print(test.__foo)
    
    if __name__=='__main__':
        main()

    python的私有并不是完全不能访问,其实也可以访问,所有不建议设为私有的,可以以单下划线开头,表示一种暗示

    class Test:
        #属性名以双下划线开头表示私有的
        def __init__(self,foo):
            self.__foo=foo
        #私有方法
        def __bar(self):
            print(self.__foo)
            print('__bar')
    def main():
        test=Test('hello')
        test._Test__bar()
        print(test._Test__foo)
    
    if __name__=='__main__':
        main()

    运行结果如下图:

  • 相关阅读:
    svn服务器安装
    查看IIS应用程序池的运行状况
    Microsoft Web Farm Framework 和 server Farms
    Subversion 错误信息一览表
    LINUX 时间和日期
    DiskGenius的 “终止位置参数溢出”错误解决方法。
    TortoiseSVN在网盘显示图标的设置
    配置GDB以支持查看stl容器数据
    TortoiseSVN,排除不想提交文件的方法
    win7系统 设置宽带连接网络共享 出现错误 无法启用共享访问 错误代码:0x80004005:未指定错误
  • 原文地址:https://www.cnblogs.com/andrew3/p/11270475.html
Copyright © 2011-2022 走看看