我是靠谱客的博主 外向白开水,最近开发中收集的这篇文章主要介绍python是面向对象编程_Python面向对象编程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

面向对象最重要的概念就是类(Class)和实例(Instance),Java比较熟了,下面贴代码注释

class Student(object):

def __init__(self, name, score):

self.name=name

self.score=score

----------------------------------------------------1、class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的2、类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:3、 注意:特殊方法“__init__”前后分别有两个下划线!!!4、注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。

5、类中定义的函数和普通函数定义一样,def 定义 , 不过注意的是类中定义的函数的第一个参数必须为self,并且,调用时,不用传递该参数

有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去:

示例:>>> bart = Student('Bart Simpson', 59)>>>bart.name'Bart Simpson'

>>>bart.score59

普通类的定义和使用示例:

class Student(object):

def __init__(self, name, score):

self.name=name

self.score=score

def get_grade(self):if self.score >= 90:return 'A'elif self.score>= 60:return 'B'

else:return 'C'

---------------------------------------------lisa= Student('Lisa', 99)

bart= Student('Bart', 59)

print(lisa.name, lisa.get_grade())

print(bart.name, bart.get_grade())

>>>

Lisa A

Bart C

-------------------------------------------------------------------------------------------------------------------------------------------

类变量的访问限制:

类似于Java , 发现4个变量 都设置为了private修饰符,而且对四个变量都进行了get和set操作,在之后对这个类的对象进行属性操作的时候都用getX和setX方法处理。

public classWorkDayState {private int state; //工作状态 1、有方案 2.无方案

private int day ; //日期

private int month; //属于的月份

private int year; //属于的年份

public WorkDayState(int year, int month, int day, intstate) {this.year =year;this.month =month;this.day =day;this.state =state;

}public intgetState() {returnstate;

}public void setState(intstate) {this.state =state;

}public intgetDay() {returnday;

}public void setDay(intday) {this.day =day;

}public intgetMonth() {returnmonth;

}public void setMonth(intmonth) {this.month =month;

}public intgetYear() {returnyear;

}public void setYear(intyear) {this.year =year;

}

}

从最开始的类的定义可以看到Python没有private 私有访问修饰符这种操作,要做到同样的效果 ,代码应该如下写法:

class Student(object):

def __init__(self, name, score):

self.__name=name

self.__score=score

def print_score(self):

print('%s: %s' %(self.__name, self.__score))

def get_name(self):returnself.__name

def get_score(self):returnself.__score

def set_score(self, score):

self.__score=score-----------------------------------------------------以上对name和score变量进行了前面加了连个下划线__操作,

在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问

如果想访问私有变量,也不能直接对象.属性调用了,如上加了几个get 和 set方法

使用如下:>>> bart = Student('Bart Simpson', 59)>>>bart.get_name()'Bart Simpson'即可获取变量的值了

-------------------------------------------------------------------------------------------------------------------------------------------

继承和多态

看了看,和Java没多大区别,不再记录了

最后

以上就是外向白开水为你收集整理的python是面向对象编程_Python面向对象编程的全部内容,希望文章能够帮你解决python是面向对象编程_Python面向对象编程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部