diff --git a/Doc/tutorial/classes.rst b/Doc/tutorial/classes.rst
index 5ee9067..f9a2d11 100644
--- a/Doc/tutorial/classes.rst
+++ b/Doc/tutorial/classes.rst
@@ -553,6 +553,28 @@
 without regard to the syntactic position of the identifier, as long as it
 occurs within the definition of a class.
 
+Name mangling is helpful for letting subclasses override methods without
+breaking intraclass method calls.  For example::
+
+    class Mapping:
+        def __init__(self, iterable):
+            self.items_list = []
+            self.__update(iterable)
+
+        def update(self, iterable):
+            for item in iterable:
+                self.items_list.append(item)
+
+        __update = update   # private copy of original update() method
+
+    class MappingSubclass(Mapping):
+
+        def update(self, keys, values):
+            # provides new signature for update()
+            # but does not break __init__()
+            for item in zip(keys, values):
+                self.items_list.append(item)
+
 Note that the mangling rules are designed mostly to avoid accidents; it still is
 possible to access or modify a variable that is considered private.  This can
 even be useful in special circumstances, such as in the debugger.
