码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象

时间:2019-04-14 15:56:35      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:word   span   外部   划线   container   代码   函数式   功能   过程   

面向对象(OOP)概念

面向过程:早期的编程概念,类似于函数,但只能执行,没有返回值,将功能独立的代码封装成一个个函数,最后顺序地调用不同的函数

函数式编程:不仅能执行,还可以返回结果

面向对象: 面向对象是更大的封装,根据职责在一个对象里封装多个方法,顺序地让不同的对象调用不同的方法

类和对象

类和对象是面向对象编程的两个核心概念

类是一群具有相同特征或者行为的事物的统称,是抽象的,不能直接使用,特征被称为属性,行为被称为方法

类相当于一个一个模板,是负责创建对象的

 

对象是类创建出来的一个具体的存在,可以直接使用,由什么类创建的对象,就拥有那个类中定义的属性和方法

在程序开发中,先有类再有对象

先定义类:

技术图片
class Student (object):
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

    def student_name(self):
        return ‘my name is {}‘.format(self.name)

    def student_sge(self):
        return ‘my age is {}‘.format(self.age)

    def student_sex(self):
        return ‘i am a {}‘.format(self.sex)
技术图片

再创建对象:则创建的对象就都有了这个类的属性和方法

new_student = Student(‘jia‘, 12, ‘boy‘)
print(new_student.student_name())
new1_student = Student(jia‘, 12, boy)
print(new1_student.student_name())

 私有属性和私有方法

对象的某些属性或方法,可能只希望在对象内部被使用,不希望在外部被访问到,,私有属性和私有方法

定义方式:在定义属性和方法时, 在属性和方法前增加两个下划线,定义的就是私有属性或方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Women:
    def __init__(self, name):
        self.name = name
        self.__age = 18
 
    def __secret(self):
        print(‘我的年龄:{}‘.format(self.__age))
 
 
student1 = Women(‘贾‘)
# print(student1.__age)  # 由于是私有属性,所以不能在外部访问
# student1.__secret()  # 私有方法,也不能在外部访问
# print(student1._Women__age)  # 其实定义的私有方法/属性,是伪私有方法/属性,可以通过
# student1._Women__secret()    # 在调用的时候在被调用的方法/属性前加  _类名  ==》 _类名__名称,进行访

面向对象

标签:word   span   外部   划线   container   代码   函数式   功能   过程   

原文地址:https://www.cnblogs.com/2987831760qq-com/p/10705325.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
分享档案
周排行
mamicode.com排行更多图片
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!