python/Data Science

(macOS)[python] Class : public, protected, private, inheritance

jinozpersona 2020. 3. 2. 15:24

1. class 생성 : Naming

 

public

# public
class Naming:
    def __init__(self,head,tail):
        self.head = head
        self.tail = tail
    
    def get_name(self,head_name,tail_name):
    	self.head = head_name
        self.tail = tail_name
        
    def get_info(self):
    	print(self.head, self.tail)
        
    def __del__(self):
    	print('Name object is deleted')
        
# Use class
object = Naming(head,tail)
# Use delete
del object

protected : single underscore

# protected
class Naming:
    def __init__(self,head,tail):
        self._head = head
        self._tail = tail
    
    def get_name(self,head_name,tail_name):
    	self._head = head_name
        self._tail = tail_name

    def _set_name(self,head_name,tail_name):
    	self._head = head_name
        self._tail = tail_name
        
    def get_info(self):
    	print(self._head, self._tail)
        
    def __del__(self):
    	print('Name object is deleted')
        

 

private : double underscore

# private
class Naming:
    def __init__(self,head,tail):
        self.__head = head
        self.__tail = tail
    
    def get_name(self,head_name,tail_name):
    	self.__head = head_name
        self.__tail = tail_name

    def __set_name(self,head_name,tail_name):
    	self.__head = head_name
        self.__tail = tail_name
        
    def get_info(self):
    	print(self.__head, self__.tail)
        
    def __del__(self):
    	print('Name object is deleted')
        

 

2. class inheritance(상속)

import os

class MakeNaming(NamingDir):
    def make_name(self,head_name,tail_name):
    	self.head = head_name
        self.tail = tail_name	

 

반응형